setuptools 在哪里找到包的版本?
Where does setuptools find the version of a package?
我试图了解什么版本 github package has. I am building it locally. In the release process,我发现:
VERSION=$(python setup.py --version)
在我的回购协议中,每当我 运行 我得到:
» python setup.py --version
1.0.9.dev29
但我不知道这是从哪里来的。版本 1.0.9.dev29
既不在 setup.cfg
中,也不在单独的 VERSION
文件中。回购中没有版本文件或类似文件。我不明白 setuptools
是如何得出这个版本 ID 的。 documentation 没有给出任何提示。
python setup.py --version
命令如何工作?
setup.py --version
列出从元数据中获取的包的版本。您的特定项目使用 pbr
package 来处理元数据:
setup_requires=['pbr>=1.9', 'setuptools>=17.1', 'pytest-runner'],
pbr
(Python Build Reasonableness) 通过查看当前 git 历史记录在包构建时设置版本,请参阅pbr
文档的 Version section:
Versions can be managed two ways - postversioning and preversioning. Postversioning is the default, and preversioning is enabled by setting version in the setup.cfg metadata section. In both cases version strings are inferred from git.
If the currently checked out revision is tagged, that tag is used as the version.
因此,当开发人员运行 setup.py
构建分发时,当时 pbr
查看 git 存储库元数据并提取版本号,并将其包含在构建的发行版中; tar.gz
源 tarball 包含一个 PKG-INFO
版本的文件。
根据已接受的答案,信息来自您的 git 存储库,基于标签,使用 pbr
扩展名。
没有包括实际字符串是如何确定的。 pbr
使用 pbr
文档中指定的算法,该算法基于在 repo 中创建的最新标签(我假设搜索当前签出的分支,但不确定)。
1.0.9.dev29
字符串可能意味着您在存储库中有一个 1.0.9
标记,其中 29 个提交没有标记。默认情况下,pbr
会在没有标签的新提交中添加一个 .devN
后缀,该后缀随着每个新的无标签提交而递增。
如果你在最新的提交中添加一个 1.0.10
标签,那将是新版本,但如果你添加另一个没有标签的提交,它将是 1.0.9.dev30
.
我试图了解什么版本 github package has. I am building it locally. In the release process,我发现:
VERSION=$(python setup.py --version)
在我的回购协议中,每当我 运行 我得到:
» python setup.py --version
1.0.9.dev29
但我不知道这是从哪里来的。版本 1.0.9.dev29
既不在 setup.cfg
中,也不在单独的 VERSION
文件中。回购中没有版本文件或类似文件。我不明白 setuptools
是如何得出这个版本 ID 的。 documentation 没有给出任何提示。
python setup.py --version
命令如何工作?
setup.py --version
列出从元数据中获取的包的版本。您的特定项目使用 pbr
package 来处理元数据:
setup_requires=['pbr>=1.9', 'setuptools>=17.1', 'pytest-runner'],
pbr
(Python Build Reasonableness) 通过查看当前 git 历史记录在包构建时设置版本,请参阅pbr
文档的 Version section:
Versions can be managed two ways - postversioning and preversioning. Postversioning is the default, and preversioning is enabled by setting version in the setup.cfg metadata section. In both cases version strings are inferred from git.
If the currently checked out revision is tagged, that tag is used as the version.
因此,当开发人员运行 setup.py
构建分发时,当时 pbr
查看 git 存储库元数据并提取版本号,并将其包含在构建的发行版中; tar.gz
源 tarball 包含一个 PKG-INFO
版本的文件。
根据已接受的答案,信息来自您的 git 存储库,基于标签,使用 pbr
扩展名。
没有包括实际字符串是如何确定的。 pbr
使用 pbr
文档中指定的算法,该算法基于在 repo 中创建的最新标签(我假设搜索当前签出的分支,但不确定)。
1.0.9.dev29
字符串可能意味着您在存储库中有一个 1.0.9
标记,其中 29 个提交没有标记。默认情况下,pbr
会在没有标签的新提交中添加一个 .devN
后缀,该后缀随着每个新的无标签提交而递增。
如果你在最新的提交中添加一个 1.0.10
标签,那将是新版本,但如果你添加另一个没有标签的提交,它将是 1.0.9.dev30
.