发布 Python(使用 pbr):未生成版本
Posted
技术标签:
【中文标题】发布 Python(使用 pbr):未生成版本【英文标题】:Releasing for Python (with pbr): version not generated 【发布时间】:2018-06-29 16:21:15 【问题描述】:这是我的新手,但我在 Github 上创建了一个小型 Python 库,并希望在 PyPI 上发布它。 pbr 库应该通过从 git 标签等获取版本来使事情变得更容易。
但是,pbr
不是从 git 标记派生版本号。
这是我尝试过的:
将代码推送到 Github 并创建一个带有语义标记名v1.0.0
的版本
确保标签也在我的本地存储库中:git fetch --tags
生成并上传版本:python setup.py sdist upload -r pypi
发布了,pbr
似乎工作正常,只有版本号是0.0.1.dev2
。最后一个数字似乎随着提交次数的增加而增加。
我已尝试在标签git checkout tags/v1.0.1
处明确签出修订版,但这没有任何区别。
为什么pbr
没有关注我的 Git 标签?
编辑:这是Github上的代码
【问题讨论】:
【参考方案1】:注意:
pbr
期望 Git 标记被 签名 用于计算版本。
见https://docs.openstack.org/pbr/latest/user/features.html#version
您必须使用 GPG 为您的标签签名:
git tag -s $version
【讨论】:
我现在已经创建了一个 GPG 签名标签和一个新的提交。标签在 Github 中得到验证,所以我很肯定 GPG 设置是好的。 pbr 愉快地继续使用0.0.1.dev5
,所以这还不足以解决它。
我让它与签名标签一起工作,尽管不一致。如果我发现更多,会更新。
这里有什么新信息吗?我也在为不被接受的签名标签而苦苦挣扎。
很抱歉没有跟进,一直没有找到它不起作用的确切原因。我建议使用带注释的标签。我 认为 签名的标签会自动计为带注释的,但只是为了确保您可以明确地注释它们。如果这对您有影响,请告诉我。【参考方案2】:
确保您的版本标签包含您使用 pbr >= 4.0.0 的“v”,对我来说,这是从 travis 部署到 pypi 的问题。在部署之前更新 pbr 修复了这个问题。
另见:
https://bugs.launchpad.net/pbr/+bug/1744478 https://github.com/openstack-dev/pbr/commit/4c775e7890e90fc2ea77c66020659e52d6a61414【讨论】:
以上是关于发布 Python(使用 pbr):未生成版本的主要内容,如果未能解决你的问题,请参考以下文章
Android ADT 版本 22,未生成 R.java 文件