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