我想发布一个Python包(我想使用setuptools 我已经有一个工作的setup.py文件),以及相关的文档 (使用Sphinx制作)。
我发现自己有点困惑,因为我必须指定作者姓名, 维护者,版本,发布,日期,电子邮件等在不同的部分。
我想知道是否有某种方法可以定义这种常见信息 只有一次包,然后在setup.py脚本中使用它 和.rst文件等等。
解决此问题的可能方法是什么?
答案 0 :(得分:5)
如果您使用distutils调用sphinx,则会覆盖您的案例。答案在sphinx/setup_command.py的文档中。从该示例中,您的setup.py应该有一个看起来像这样的部分:
# this is only necessary when not using setuptools/distribute
from sphinx.setup_command import BuildDoc
cmdclass = {'build_sphinx': BuildDoc}
name = 'My project'
version = '1.2'
release = '1.2.0'
setup(
name=name,
author='Bernard Montgomery',
version=release,
cmdclass=cmdclass,
# these are optional and override conf.py settings
command_options={
'build_sphinx': {
'project': ('setup.py', name),
'version': ('setup.py', version),
'release': ('setup.py', release)}},
)
之后,调用python setup.py build_sphinx
将构建文档,对这些共享值具有单一的真实点。做得好。
适合我。希望它有所帮助!
答案 1 :(得分:0)
Python包装用户指南的示例项目采用了不同的方法。它解析文件sample/__init__.py
:
https://github.com/pypa/sampleproject/blob/master/setup.py
setup(
name="sample",
version=find_version('sample', '__init__.py'),