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

HCK*_*MVT 11 setuptools python-3.x gitversion pyproject.toml

我正在尝试构建一些具有由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"
...
Run Code Online (Sandbox Code Playgroud)

根据文档,该enabled标志应该足以setuptools获取基于标签的版本并将其设置为包的版本,但是在构建包时,运行时提示的版本python3 -m pip list或对应于部分conda list中版本的硬编码值projectpyproject.toml

我错过了什么/做错了什么?

Mar*_*ong 12

根据PyPa 文档,静态定义时version不能通过工具(即本例中的 setuptools-git-versioning)进行更改。另一种选择是使用动态...

动态元数据通过字段(本规范稍后定义)列出dynamic,并表示工具稍后将提供的元数据。

因此,删除静电version = "1.0"并添加dynamic = ["version"][project]应该可以工作。

  • 我刚刚将其合并到我自己的项目中。感谢您的回答 (3认同)