最新的git标签在安装requirements.txt时未被识别。

问题描述 投票:1回答:1

在我的requirements.txt中,有一个来自另一个git repo的依赖关系(不是我的,但我可以访问它)。

昨天,我合并了一个 PR,并应用了 v0.1.5 标签。我依次更新了我的项目需求。

git+https://[email protected]/repowner/[email protected]  

依赖项的安装没有问题。但是我发现了一个bug,于是决定修复它。我创建了一个新的分支,修改了在 setup.py的标签v0.1.5b,并使用了 git pushgit push --tags,都是在合并之前。(我以为这样做才是正确的,而不是以后再应用)

现在我把我的要求更新为

git+https://[email protected]/repowner/[email protected]

然而,当我执行 pip install -r requirements.txt. 它没有出现任何错误,只是忽略了最后的b。我试着将标签分配到主站,使用了 git tag -a v0.1.5b <commit_hash> 但我得到了回报。

fatal: tag 'v0.1.5b' already exists

如果我试图只推送标签,

Everything up-to-date

我不知道是我不应该使用版本中的 "b "还是有什么地方我错过了?谁能帮我解决一下?如果能在不推送另一个提交的情况下解决这个问题就更好了(比如v.0.1.6),但我愿意接受任何解决方案。

python git setuptools setup.py distutils
1个回答
2
投票

有效的Python 公共版本标识符 都以数字结尾。

公共版本标识符

规范的公共版本标识符必须符合以下方案。

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

选择一个版本方案 比上面的PEP 440描述更容易阅读。在这里你还会注意到,所有的模式都以数字结束。

鉴于您不希望递增至 v0.1.6您有以下备选选项。

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

附注:要将已经创建的标签重新分配给不同的提交,可以使用 -f 旗帜 git tag 命令,然后再尝试该推。

© www.soinside.com 2019 - 2024. All rights reserved.