【问题标题】:Set Python wheel version tag dynamically动态设置 Python Wheel 版本标签
【发布时间】:2017-04-30 00:43:26
【问题描述】:

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

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

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

【问题讨论】:

    标签: python setuptools python-wheel


    【解决方案1】:

    wheel 文件名中的版本标记只是包的版本号,由setup.py 定义,setup.py 是一个 Python 脚本,具有 Python 的所有功能。因此,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,
        ...
    )
    

    【讨论】:

    • 感谢您的回答!这是我第一次尝试在 Bamboo 中为项目添加计划,但我还没有找到它设置的环境变量的所有文档。
    • 您知道使用 setup.cfg 或命令行参数执行此操作的方法吗?
    猜你喜欢
    • 2013-12-16
    • 2022-08-14
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2016-07-09
    相关资源
    最近更新 更多