Python项目版本控制 问题是:

Python项目版本控制 问题是:,python,Python,我需要在我的python项目中设置版本控制。 每次发布时,我都会将我的生产部门和开发部门合并到我的VCS中。 我需要在设置项目版本时进行最少的更正,并使过程自动化 我所做的: 我读过关于模块版本控制的文章(这并不是我所需要的) 我找到了如何使用中的setup.py文件为项目设置版本 我发现了django是如何与它的版本一起工作的 我的下一步行动: 我的释放需要: 发布日期 修改 版本号 因此,我计划将我的发行号格式设置为major.minor.changeset,因为将发行日期保留在版本

我需要在我的
python
项目中设置版本控制。
每次发布时,我都会将我的生产部门开发部门合并到我的VCS中。
我需要在设置项目版本时进行最少的更正,并使过程自动化

我所做的:
  • 我读过关于模块版本控制的文章(这并不是我所需要的)
  • 我找到了如何使用中的
    setup.py
    文件为项目设置版本
  • 我发现了
    django
    是如何与它的版本一起工作的
我的下一步行动: 我的释放需要:

  • 发布日期
  • 修改
  • 版本号
因此,我计划将我的发行号格式设置为
major.minor.changeset
,因为将发行日期保留在版本中会使它相当长。 我想创建
version.py
文件:

MAJOR_VERSION = 1
MINOR_VERSION = 1
RELEASE_DATE = '28 .08.2013 '


def get_revision ():
    ...

def get_version ():
   ....
并在需要时从那里导入版本(但我很惊讶有人会忘记设置正确的日期),然后将文件
CHANGE.TXT
放在它旁边,该文件描述了版本更改

问题是: 我想知道你如何在你的
python
项目中设置版本,以及我应该如何转换我的想法来简化我的方案。

两个相关的问题:(1)元数据在模块级跟踪的好选择是什么,包括版本控制,以及其他有用的信息;(2)什么是表示元数据的好方法

有关模块元数据的一般方法,请参见。这基本上是说,使用名为
\uuuuu author\uuuuu
\uuu authors\uuuu
\uuu contact\uuuuuu
\uu版权\uuuuu
\uu许可证\uuuuuuu
\uuuuu日期和
的常量。这些都是常用的,所以这是一个很好的惯例


然后,有关如何填充
\uuuuu version\uuuuu
常量的信息——一个很好的版本控制模型是语义版本控制——请参阅。基本上,使用
1.2.3
风格,只有在出现不兼容的API更改时才进行重大更改,出现新功能时才进行小更改,出现错误修复时才进行微补丁更改。这也是常用的,因此是一个很好的惯例。

到目前为止,您所做的工作面临的问题是什么?想知道在python项目中设置版本控制的最佳实践是什么吗?最佳实践类型问题不太适合StackOverflow,因为它们主要基于观点。应该很少有经常使用的实践,我认为这对其他人也有帮助,不仅仅是我。很好地解决了一个不适合堆栈溢出的问题。如果你能改进你的问题的一小部分,那就是你的问题,那么这将是一个非常合适的选择。