5

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

4

4 回答 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 回答
1

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

如果您关心其他人会使用的模块的版本控制,可以在此处找到信息。

于 2013-06-14T14:36:08.130 回答