我正在做一个 Python 程序(用于 Linux 环境),我希望它支持程序的版本实现。我在某处读到应该添加类似“__ Version __”的行,但我不确定在哪里以及如何放置它。我想要实现的是不必每次安装新版本时都删除整个程序。谢谢!
问问题
6017 次
4 回答
4
我强烈建议您使用setuptools
它而不是手动对其进行版本控制。它现在是事实上的标准,使用起来非常简单。您需要做的就是setup.py
在您的项目根目录中创建一个:
from setuptools import setup, find_packages
setup(name='your_programms_name',
version='major.minor.patch',
packages=find_packages(),
)
然后运行:
python setup.py sdist
然后你的 dist 文件夹下会有鸡蛋。
于 2018-04-17T14:24:58.190 回答
3
你真正想要做的是使用 distutils 将你的 Python 程序变成一个包。
您将创建一个 setup.py。一个简单的示例如下所示:
from distutils.core import setup
setup(name='foo',
version='1.0',
py_modules=['foo'],
)
这是版本和分发 Python 代码的最标准方式。如果你的代码是开源的,你甚至可以在奶酪店注册它^M^M^M^MPyPi,然后用一个简单的pip install mypackage
.
于 2013-06-14T14:33:05.530 回答
2
这取决于您想要版本化的内容。
具有独立版本的单个模块,或整个程序/包。
理论上,您可以__version__
通过测试这些变量为每个类添加一个字符串并进行动态导入。
如果您想对主程序或整个程序进行版本控制,您可以在文件__version__
顶部的某处添加一个字符串,并在生成包时__init__.py
将该字符串导入您。setup.py
这样您就不必手动编辑多个文件,并且setup.py
几乎可以保持原样。
还要考虑使用字符串,而不是数字或元组。见PEP 396。
于 2013-06-14T14:38:29.240 回答