PIP install upgrade升级私有依赖失败



background: PIP支持SSH链接后缀

  1. 分支的名字,
  2. 一个提交散列,
  3. 标签名称a git ref

但是,pip在升级一些依赖于这些ssh链接的包时出现了问题。

在一个名为CurrentPackage的5.1.2版本的软件包的setup.py中

install_requires=[
"MyOwnPackage @ git+ssh://git@github.com/myusename/MyOwnPackage@master",
],

i then PIP install——upgrade -e .

Requirement already satisfied, skipping upgrade: 
MyOwnPackage@git+ssh://git@github.com/myusename/MyOwnPackage@master from 
git+ssh://****@github.com/myusename/MyOwnPackage@master in 
/opt/anaconda3/lib/python3.8/site-packages (from CurrentPackage==5.1.2) (0.0.1)

主分支已经是0.0.2。它显然没有将MyOwnPackage升级到新的主分支提交,仍然保持在0.0.1。

pip不检查在安装之间是否更改了远程引用。这意味着指向一个移动的引用(就像你在这里看到的)不会像预期的那样工作。

我建议使用:

  • 特定的提交哈希或标签,当您想要进行升级时修改
  • 用——upgrade调用pip,告诉它急切地环顾四周。
  • 将这些包转换成合适的发行版,并使用——find-links或——index-url。

好的,我的结论是列出setup.py中的私有依赖项因为语法必须是

packagename @ git+ssh://git@github.com/myusename/packagename

简单地说

-e git+ssh://git@github.com/myusename/MyOwnPackage==0.0.2
在让

最新更新