繁体   English   中英

如何向我的项目和setup.py添加版本/构建信息?

[英]How can I add a version/build information to my project and setup.py?

关于将版本字符串放入setup.py存在几个 问题 我有一些稍微不同的要求:

  1. 我需要版本(例如1.2.3 )字符串和内部版本号( $ git describe --tags --always HEAD的结果$ git describe --tags --always HEAD
  2. 我需要Flask应用程序中可用的这些版本(例如, app.config['VERSION'] = '1.2.3'app.config['BUILD'] = '1.2.3-33-g93abc32'
  3. 我需要setup.py可用的版本字符串

我并不在乎版本/构建字符串是否受版本控制 ,尽管似乎在那里安装该版本是有意义的。

因此,我想也许是一个问题,是如何从setup.py向我的项目中注入一些构建信息?

我决定要做的是滚动以下内容:

setup.py

# Stuff

import subprocess

__version__ = '1.2.3'
__build__ = subprocess.check_output('git describe --tags --always HEAD'
                                    .split()).decode().strip()

with open('mypkg/_version.py', 'w') as f:
    f.write('''\
# I will destroy any changes you make to this file.
# Sincerely,
# setup.py ;)

__version__ = '{}'
__build__ = '{}'
'''.format(__version__, __build__))

# other stuff

settings.update(
    version=__version__,
# more stuff
)

我可能会使用re模块来简单地查找/替换__version____build__行,但是就目前而言,这似乎还可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM