在Python项目中添加版本控制/编号(?)

时间:2009-11-24 13:58:36

标签: python version-control

目前我的Java项目,通过将其声明为Maven项目,我可以完全控制版本。但是我现在有一个Python项目,我要标记0.2.0,它没有版本控制。因此,我是否应该在以后的日程中使用此代码,我不会知道它是什么版本。

如何将版本控制添加到Python项目中,就像Maven为Java做的那样?

3 个答案:

答案 0 :(得分:5)

首先,maven是一个构建工具,与版本控制无关。你不需要使用Python的构建工具 - 没有什么可以“构建”。

有些人喜欢创建.egg文件进行分发。它与Python的“构建”非常接近。这是一个简单的setup.py文件。

您可以在源代码中使用SVN关键字替换。请记住为具有此功能的模块启用关键字替换。

__version__ = "$Revision$"

这将确保版本或修订字符串被SVN强制进入您的源。

您还应该在setup.py文件中包含版本关键字。

答案 1 :(得分:2)

创建distutils setup.py文件。这是Python等同于maven pom.xml,它看起来像这样:

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

如果您想要像maven这样的依赖管理,请查看setuptools

答案 2 :(得分:2)

Ants的答案是正确的,但我想补充一点,根据PEP 8,您的模块可以定义__version__变量,可以手动填充或通过Subversion或CVS填充,例如:如果你有一个模块,有一个文件thingy/__init__.py

___version___ = '0.2.0'

然后,您可以在setup.py中导入此版本:

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