Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于Distutils清单模板,请使用MANIFEST.in以外的名称_Python_Distutils - Fatal编程技术网

Python 对于Distutils清单模板,请使用MANIFEST.in以外的名称

Python 对于Distutils清单模板,请使用MANIFEST.in以外的名称,python,distutils,Python,Distutils,在Python中,声明清单模板默认命名为manifest.In。然后,它似乎没有说明如何更改默认设置 对于混合语言项目,我想将MANIFEST.in命名为类似于PYTHON-MANIFEST.in或类似的名称,以避免开发人员需要知道什么属于什么语言时的精神负担(我们不能将Python子项目放在子目录中,因为它需要访问根目录下的伞形项目项) 这可能吗?如果可能,如何实现?Distutilssdist命令的命令行帮助给出了答案: $python3./setup.py sdist——帮助 […] “s

在Python中,声明清单模板默认命名为
manifest.In
。然后,它似乎没有说明如何更改默认设置

对于混合语言项目,我想将
MANIFEST.in
命名为类似于
PYTHON-MANIFEST.in
或类似的名称,以避免开发人员需要知道什么属于什么语言时的精神负担(我们不能将Python子项目放在子目录中,因为它需要访问根目录下的伞形项目项)


这可能吗?如果可能,如何实现?

Distutils
sdist
命令的命令行帮助给出了答案:

$python3./setup.py sdist——帮助
[…]
“sdist”命令的选项:
--模板(-t)清单模板文件的名称[默认值:manifest.in]
[…]
因此,您可以将“”文件命名为任何您喜欢的名称,然后使用
template
选项为
sdist
指定模板文件名


我在Distutils文档中找不到答案,这确实需要一些专门的改进和维护。

上面的答案为我提供了一个查看的地方,并找到了一种以编程方式执行此操作的方法

使用
setuptools
时,可以简单地重新分配用于查找清单模板的变量:

setuptools.command.egg\u info.manifest\u maker.template='您的清单模板在这里。在'

我想,通过从
distutils.command.sdist.sdist
派生并更改在重写的
finalize\u options
中分配给
self.template
的内容,纯
distutils
也可以实现类似的事情(当然,还可以将其指定为自定义
sdist
命令).

这似乎不再存在,在distutils 3.6.5上测试的数据在distutils 3.6.5上不再存在