对于Python模块,要声明哪些标准全局变量?

在阅读其他Python模块时,我已经看到很多人经常在他们的源文件中包含__version____author__全局变量(甚至在PEP3001中提到过)。 我想用一组合理的变量来记录我的代码。 什么是可能通常包含的全局变量列表?


对于这些全局变量没有具体的标准 - 正如您所链接的PEP所指出的那样,他们试图达到一个标准,但并没有以任何单一形式被普遍接受。

真正的标准是PyPI元数据,它使用distutils (或兼容接口)在您的模块的setup.py文件中指定。 以下是包装教程中的示例:

from distutils.core import setup

setup(
    name='TowelStuff',
    version='0.1.0',
    author='J. Random Hacker',
    author_email='jrh@example.com',
    packages=['towelstuff', 'towelstuff.test'],
    scripts=['bin/stowe-towels.py','bin/wash-towels.py'],
    url='http://pypi.python.org/pypi/TowelStuff/',
    license='LICENSE.txt',
    description='Useful towel-related stuff.',
    long_description=open('README.txt').read(),
    install_requires=[
        "Django >= 1.1.1",
        "caldav == 0.1.4",
    ],
)

http://guide.python-distribute.org/creation.html


使用distutils (或超集setuptools )来提供有关您项目的元数据。

特别是在使用setuptools ,通过pkg_resources模块可以发现setuptools用元数据。

对于像__version__这样的全局变量没有标准,即使对于Python stdlib也是如此,这就是为什么在Python 3的stdlib中提供这种元数据的努力尚未达到任何目的。

我可以推荐Python打包用户指南作为正确打包项目的入门。

链接地址: http://www.djcxy.com/p/11771.html

上一篇: For a Python module, what are the standard global variables to declare?

下一篇: Allowing end users to dynamically add columns to a table