我想知道a github package有什么版本。我在本地建造。在release process中,我发现:
VERSION=$(python setup.py --version)
在我的回购中,每当我运行这个程序时,我会得到:
^{pr2}$但我不知道这是从哪里来的。版本1.0.9.dev29
既不在setup.cfg
中,也不在单独的VERSION
文件中。回购中没有版本文件或类似文件。我不明白setuptools
是如何派生出这个版本id的。documentation没有给出任何提示。在
python setup.py --version
命令是如何工作的?在
根据接受的答案,信息来自git repo,基于标记,使用
pbr
扩展名。在不包括实际字符串是如何确定的。
pbr
使用在pbr
文档中根据repo中创建的最新标记指定的算法(我假设搜索当前签出的分支,但不确定)。在1.0.9.dev29
字符串可能意味着在repo中有一个1.0.9
标记,其中29个提交没有标记。默认情况下,pbr
将向不带标记的新提交添加一个.devN
后缀,该后缀将随着每个新的未标记提交而递增。在如果您在最新提交中添加一个
1.0.10
标记,那么它将是新版本,但是如果您添加另一个没有标记的提交,它将是1.0.9.dev30
。在见here for More info on the Semantic Versioning used by ^{}
setup.py version
列出从元数据获取的包的版本。您的特定项目使用^{pbr
(Python Build reasonaliness)通过查看当前git历史记录在包构建时设置版本,请参阅pbr
文档的Version section:因此,当开发人员运行
setup.py
来构建发行版时,此时pbr
会查看git存储库元数据并提取版本号,并将其包含在所构建的发行版中;tar.gz
源tarball包含一个带有版本的PKG-INFO
文件。在相关问题 更多 >
编程相关推荐