在 pyproject.toml 中使用 setuptools 进行 Git 版本控制

9

我正在尝试使用setuptools-git-versioning自动设置版本号,构建一些包。不幸的是,即使遵循文档和网上寥寥资源,我也无法使这个版本管理工具正常运作。

pyproject.toml:

[build-system]
requires = ["setuptools>=42", "wheel", "setuptools-git-versioning"]
build-backend = "setuptools.build_meta"

[tool.setuptools-git-versioning]
enabled = true

...

[project]
version = "1.0"
...

根据文档,enabled 标志应足以让 setuptools 获取基于标签的版本并将其设置为软件包的版本,但是在构建软件包时,在运行 python3 -m pip listconda list 时提示的版本与 pyproject.tomlproject 部分中硬编码的版本相对应。我错过了什么/做错了什么?
1个回答

11
根据PyPa文档,当version被静态定义时,它不能被工具(即在本例中的setuptools-git-versioning)更改。另一个选项是使用动态,它可以通过动态字段(稍后在此规范中定义)列出,并表示工具稍后提供的元数据。
因此,删除静态的version = "1.0"并将dynamic = ["version"]添加到[project]应该有效。

3
我刚刚将这个整合到我的项目中。感谢你的回答。 - DeepDeadpool

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接