【发布时间】:2021-08-18 20:27:21
【问题描述】:
我使用python3 -m build 来构建我的python 包,如官方文档中所述:Packaging Projects。
但我不想在源代码中存储我的版本号,因为这会在 git 存储库中创建太多无用的更改。
有没有办法将setup.cfg 中的version 留空并通过python3 -m build 命令行提供版本?
我使用推荐的pyproject.toml文件:
[build-system]
requires = [
"setuptools>=42",
"wheel"
]
build-backend = "setuptools.build_meta"
Python论坛相关问题:https://discuss.python.org/t/avoid-having-version-number-in-source-code/10188
【问题讨论】:
-
build是构建前端,而您所要求的将是“构建后端”的功能。您的构建后端显然是setuptools,因此您可以使用setuptools-scm之类的东西通过 git 标签获取版本号,这样您就不需要在任何文件直接。 - 据我所知,不可能将版本字符串传递给构建工具。也许使用--config-setting,但我不知道有任何后端使用它作为版本字符串。 -
我不想使用 setuptools_scm,因为我没有从 git repo 获得版本号。
-
好吧,没有 setuptools-scm 之类的东西,我不知道。也许有一个构建后端可以通过构建的
--config-setting获取版本字符串,但我不知道。 -- 可能相关:github.com/pypa/setuptools/issues/2491
标签: setuptools python-packaging