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

时间:2015-12-15 02:27:51

标签: python distutils

在Python documentation for distribution中,声明清单模板由默认命名为MANIFEST.in。然后它似乎没有说明如何更改默认值。

为了混合语言项目,我想将MANIFEST.in命名为更像PYTHON-MANIFEST.in或类似的东西,以避免对需要知道属于哪些开发人员的开发人员的精神负担什么语言(我们不能只将Python子项目放入一个子目录,因为它需要访问根目录下的伞项目项目。)

这可能吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

Distutils sdist命令的命令行帮助有答案:

$ python3 ./setup.py sdist --help
[…]
Options for 'sdist' command:
  --template (-t)        name of manifest template file [default: MANIFEST.in]
[…]

因此,您可以将“manifest template”文件命名为您喜欢的任何名称,然后template指定带有sdist选项的模板文件名。< / p>

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

答案 1 :(得分:0)

上面的回答让我有一个地方可以查找并找到以编程方式执行此操作的方法。

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

setuptools.command.egg_info.manifest_maker.template = 'your-manifest-template-here.in'

我想通过从distutils派生并在重写的distutils.command.sdist.sdist中更改self.template所指定的内容,纯粹的finalize_options可能会发生类似的事情(此外,当然,将其指定为自定义sdist命令。)