动态设置 Python wheel 版本标签

Set Python wheel version tag dynamically

我正在尝试将 wheel 文件的构建集成到 Bamboo 计划中。最终,我想以某种方式将 .whl 文件的版本标记的一部分与 Bamboo 内部版本号相关联,即版本 0 的预发布版本将是 0.dev1、0.dev2、0.dev3 以用于后续构建.

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

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

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

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,
    ...
)