You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遵循PEP-440规范为Python功能分支预发布包正确命名?

符合PEP-440的功能分支预发布包版本命名方案

PEP-440 规范内置了对自定义标识的兼容能力,完全可以满足多分支并行构建预发布包、无版本冲突、工具链兼容的需求,核心方案如下:

核心依据

PEP-440 允许在标准版本号后追加 本地版本标识,格式为:
[标准版本号]+[自定义标识]
本地标识支持字母、数字、点号、连字符,可自由携带分支名、构建ID、Commit哈希等信息,twine、pip、私有PyPI服务均完全兼容该格式,不会出现上传或识别失败的问题。

推荐命名规则

开发中功能分支用dev前缀格式

以即将发布的正式版本号为基础,搭配dev标识、分支信息、唯一标识即可:

<下一个待发布版本号>.dev<CI构建序号>+<分支名缩写>.<Commit短哈希>

示例:下一个待发布版本为1.2.3,my-feature分支的第5次构建,对应Commit哈希为a1b2c3d,版本号写为:
1.2.3.dev5+my.feature.a1b2c3d

该方案的优势:

  • 版本优先级低于正式版1.2.3,用户安装正式版时会自动覆盖预发布包,不会出现版本错乱
  • 本地标识中的构建序号+Commit哈希双重保障,完全避免多分支并行构建的版本号冲突
  • 明确标识出所属分支和对应代码版本,便于测试溯源

待集成验证分支用预发布前缀格式

如果功能分支已开发完成,进入集成前的最终测试阶段,可以改用alpha/beta/rc前缀:

<下一个待发布版本号><预发布阶段标识><序号>+<分支名缩写>

示例:1.2.3a1+my.feature(a对应alpha阶段)、1.2.3rc2+bug.fix(rc对应发布候选阶段)

使用注意事项

  • 安装预发布包时需要给pip加上--pre参数,示例:pip install --pre <包名>==1.2.3.dev5+my.feature.a1b2c3d
  • 该方案仅适用于私有PyPI存储内部测试包,正式对外发布版本时请删除+后的所有本地标识内容,符合公开发布版本的规范
  • 如果不需要追溯构建序号,也可以直接省略dev后的序号,仅保留Commit哈希作为唯一标识,格式为1.2.3.dev+my.feature.a1b2c3d

内容的提问来源于stack exchange,提问作者sh0rtcircuit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:57:01