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

如何在pyproject.toml中引用元数据?实现版本号单次复用

在pyproject.toml中复用版本号生成下载链接的方案

你遇到的问题是pyproject.toml的[project.urls]字段不支持直接解析${metadata:version}这种setuptools旧格式的插值。要实现只写一次版本号并复用,有两种可行方案:

方案1:利用TOML文件内变量插值

TOML本身支持引用同一文件内的其他配置项,只要你的setuptools版本≥61.0.0,就可以直接这样写:

[project]
version = "2.13.4"

[project.urls]
Download = "https://github.com/xx/xx/archive/v${project.version}.tar.gz"

setuptools会正确解析这个插值,生成包含对应版本号的下载链接。

方案2:使用动态版本管理(推荐)

如果不想手动维护版本号,可以用setuptools-scm从Git标签自动生成版本,同时自动对应下载链接的标签:

  1. 先安装依赖:pip install setuptools-scm
  2. 修改pyproject.toml:
[project]
dynamic = ["version"]

[tool.setuptools_scm]
# 可选:若你的Git标签不含v前缀,可添加配置如:root = ".",默认识别带v前缀的标签(如v2.13.4)

[project.urls]
Download = "https://github.com/xx/xx/archive/v{version}.tar.gz"

这样版本号会自动从Git标签同步,下载链接也会对应生成,完全不用手动修改版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:02:02