在阅读其他Python模块时,我发现许多人经常在其源文件中包含__version__
和__author__
个全局变量(甚至在PEP3001中提及)。我想用一组合理的变量来记录我的代码。什么是可能通常包含的全局变量列表?
答案 0 :(得分:2)
这些全局变量没有特定的标准 - 正如您所链接的PEP所述,他们试图达到标准,但尚未以任何单一形式被普遍接受。
真正的标准是PyPI元数据,它使用setup.py
(或兼容的接口)在模块的distutils
文件中指定。以下是包装教程中的示例:
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",
],
)
答案 1 :(得分:1)
使用distutils
(或超集setuptools
)来提供有关项目的元数据。
特别是在使用setuptools
时,该元数据可通过pkg_resources
module发现并重复使用。
__version__
等全局变量没有标准,甚至对于Python stdlib也没有标准,这就是为什么在用于Python 3的stdlib中提供这些元数据的努力并没有达到任何目的。
我可以推荐Python Packaging User Guide作为如何正确打包项目的入门知识。