安装 requirements.txt 时无法识别最新的 git 标签

Latest git tag not recognized when installing requirements.txt

我的 requirements.txt 依赖项来自另一个 git 存储库(不是我的,但我可以访问它)。

昨天我合并了一个 PR,然后给它应用了标签 v0.1.5。按顺序,我将项目要求更新为:

git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5  

依赖项安装没有问题。但是我发现了一个错误并决定修复它。我创建了一个新分支,更改了 setup.py 中的版本,分配了标签 v0.1.5b,并在合并之前使用了 git pushgit push --tags。 (我认为这是正确的做法,而不是稍后应用)

现在我将我的要求更新为

git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5b

但是 v.0.1.5 版本是我执行 pip install -r requirements.txt 时安装的版本。它不会引发任何错误,它最后会简单地忽略 b 。我尝试使用 git tag -a v0.1.5b <commit_hash> 将标签分配给 master 但我得到 return:

fatal: tag 'v0.1.5b' already exists

如果我尝试只推送标签:

Everything up-to-date

我不确定我是否不应该在版本中使用 'b' 还是我可能遗漏了什么?有人可以帮我解决吗?如果我能在不推动另一个提交的情况下解决它,那就太好了,(比如 v.0.1.6)但我采用任何解决方案 tbh。

有效Pythonpublic版本标识符全部以数字结尾:

Public version identifiers

The canonical public version identifiers MUST comply with the following scheme:

[N!]N(.N)*[{a|b|rc}N][.postN][.devN]`

Choosing a versioning scheme 比上面的 PEP 440 描述更容易阅读。在这里您还会注意到所有模式都以数字结尾。

鉴于您不想增加到 v0.1.6,您有以下备选方案:

  • v0.1.5.post1
  • v0.1.5.dev1

旁注:要将您已经创建的标签重新分配给不同的提交,请在 git tag 命令上使用 -f 标志,然后再次尝试推送。