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

问题描述 投票:0回答:1

我正在尝试构建一些由

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 list
conda list 
对应于
project
pyproject.toml
部分中版本的硬编码值。

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

python-3.x setuptools gitversion pyproject.toml
1个回答
12
投票

根据 PyPa 文档,当

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

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

因此,删除静态

version = "1.0"
并将
dynamic = ["version"]
添加到
[project]
应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.