如何编写Python程序的版本

时间:2013-06-14 14:28:50

标签: python version

我正在做一个Python程序(用于Linux环境),我希望它支持程序的版本实现。我在某处读到了我应该添加像“__ Version __”这样的行,但我不确定在哪里以及如何设置它。我想要实现的是每次我想安装它的新版本时都不必擦除我的整个程序。 谢谢!

4 个答案:

答案 0 :(得分:3)

我强烈建议您使用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文件夹下会有鸡蛋。

答案 1 :(得分:2)

您真正想要做的是将您的Python程序变为a package using distutils

您将创建一个setup.py。一个简单的例子看起来像这样:

from distutils.core import setup
setup(name='foo',
      version='1.0',
      py_modules=['foo'],
)

这是版本和分发Python代码的最标准方法。如果您的代码是开源的,您甚至可以将其注册到奶酪店^ M ^ M ^ M ^ MPyPi并使用简单pip install mypackage将其安装在世界上任何一台机器上。

答案 2 :(得分:1)

如果您只关心本地计算机上的版本,我建议您熟悉Git。可以在here找到有关Git中版本控制的信息。

如果您担心其他人会使用的模块的版本控制,可以找到信息here

答案 3 :(得分:1)

这取决于你想要版本化的内容。

具有独立版本的单个模块,或整个程序/包。

理论上,您可以通过测试这些变量为每个类添加__version__字符串并执行动态导入。

如果要对主程序或整个程序进行版本设置,可以在__version__文件顶部的某处添加__init__.py字符串,并在生成程序包时将此字符串导入setup.py 。这样您就不必手动编辑多个文件,setup.py可能大部分都不受影响。

还要考虑使用字符串,而不是数字或元组。请参阅PEP 396