好的,所以我一直在环顾四周,虽然我是 python 新手,但我看到了几个不同的选择,所以我有点困惑。这是我正在寻找的:
我有一个包含多个 .py 文件的项目。我有我创建的库的文件和 lib 目录。我的问题是,我如何设置项目以获得一个版本?我看到很多文章说我把版本放在setup.py中。setup.py 去哪里了?setup.py 文件中还需要什么?我只是将 setup.py 导入我的 python 文件吗?我如何检查它是否有效?如何检查每个 .py 文件的版本以确保正确导入?
好的,所以我一直在环顾四周,虽然我是 python 新手,但我看到了几个不同的选择,所以我有点困惑。这是我正在寻找的:
我有一个包含多个 .py 文件的项目。我有我创建的库的文件和 lib 目录。我的问题是,我如何设置项目以获得一个版本?我看到很多文章说我把版本放在setup.py中。setup.py 去哪里了?setup.py 文件中还需要什么?我只是将 setup.py 导入我的 python 文件吗?我如何检查它是否有效?如何检查每个 .py 文件的版本以确保正确导入?
阅读Hitchhiker 的打包指南,了解开发 Python 项目的良好实践
setup.py 文件是 Python 项目的核心。它描述了有关您的项目的所有元数据。您可以将很多字段添加到项目中,为其提供一组描述项目的丰富元数据。但是,只有三个必填字段:名称、版本和包。如果您希望在 Python 包索引 (PyPI) 上发布包,则名称字段必须是唯一的。版本字段跟踪项目的不同版本。packages 字段描述了您在项目中放置 Python 源代码的位置。
我们的初始 setup.py 还将包含有关许可证的信息,并将重复使用 README.txt 文件的 long_description 字段。这看起来像:
from distutils.core import setup
setup(
name='TowelStuff',
version='0.1dev',
packages=['towelstuff',],
license='Creative Commons Attribution-Noncommercial-Share Alike license',
long_description=open('README.txt').read(),
)
通常,项目会将其版本作为__version__
属性包含在其顶级命名空间中。
例如:
>>> import myproject
>>> print myproject.__version__
'3.2.0'
有关从文件中访问的更多信息和方法,请参阅http://www.python.org/dev/peps/pep-0396/ 。__version__
setup.py