Python包:如何避免重新定义作者版本等?

Python包:如何避免重新定义作者版本等?,python,packaging,Python,Packaging,我想发布一个Python包(我想使用setuptools 我已经有了一个working setup.py文件)和相关文档 (使用斯芬克斯制作) 我发现自己有点困惑,因为我必须指定作者的姓名, 不同部分的维护人员、版本、发布、日期、电子邮件等 我想知道是否有办法定义这种公共信息 仅对包使用一次,然后在setup.py脚本中同时使用 和在.rst文件中,等等 解决此问题的可能方法是什么?如果您使用distutils调用sphinx,那么您的案例将包括在内。答案在中的文档中。从该示例中,setup.p

我想发布一个Python包(我想使用setuptools 我已经有了一个working setup.py文件)和相关文档 (使用斯芬克斯制作)

我发现自己有点困惑,因为我必须指定作者的姓名, 不同部分的维护人员、版本、发布、日期、电子邮件等

我想知道是否有办法定义这种公共信息 仅对包使用一次,然后在setup.py脚本中同时使用 和在.rst文件中,等等


解决此问题的可能方法是什么?

如果您使用distutils调用sphinx,那么您的案例将包括在内。答案在中的文档中。从该示例中,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\u sphinx
将构建文档,为这些共享值提供一个真理点。干得好

对我有用。希望有帮助

Python打包用户指南的示例项目采用了不同的方法。它解析文件
sample/\uuuu init\uuuu.py

设置(
name=“sample”,
version=find_version('sample','u_init__.py'),