动态设置Python轮标签

时间:2016-12-14 15:52:07

标签: python setuptools python-wheel

我试图将轮文件的构建集成到Bamboo计划中。最后,我想在某种程度上将.whl文件的部分版本标签绑定到Bamboo内部版本号,即版本0的预发布版本为0.dev1,0.dev2,0.dev3 for连续建造。

旧的egg格式用于允许--tag_build选项,这允许您指定附加到version函数中定义的setup参数的标记setup.py 1}}文件。 bdist_wheel命令显然没有等效选项。

这使我希望使用Bamboo内部版本号变量从脚本运行setup.py。我正在寻找除了将构建脚本转换为Powershell之外的任何其他建议,或者在每次构建时动态生成setup.py

1 个答案:

答案 0 :(得分:1)

wheel文件名中的version标签只是由setup.py定义的包版本号,而setup.py是一个Python脚本,具有Python的所有功能。因此,setup.py可以根据version环境变量简单地设置setup()函数的bamboo_buildNumber参数:

import os

version = whatever_the_version_would_be_otherwise
try:
    version += '.dev' + os.environ['bamboo_buildNumber']
except KeyError:  # bamboo_buildNumber isn't defined, so we're not running in Bamboo
    pass

setup(
    version = version,
    ...
)