background: PIP支持SSH链接后缀
- 分支的名字,
- 一个提交散列, 标签名称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
在让