发布 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):未生成版本的主要内容,如果未能解决你的问题,请参考以下文章

PBR物理材质

未生成 C/C++ Python 异常回溯

Assimp FBX 加载器和 PBR 纹理

Android ADT 版本 22,未生成 R.java 文件

UE4/5 PBR模型(带材质)导出Blender/UE4低版本/Unity方法

关于PBR贴图那些事儿