You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pip升级依赖SSH链接分支的私有包失败问题求助

解决pip升级Git SSH依赖不更新的问题

我来帮你搞定这个头疼的问题——这是pip处理Git依赖时的一个常见行为:当你在install_requires里指定了Git分支(比如master),pip安装后会记录当时拉取的提交哈希,后续执行升级命令时,它只会检查依赖的"标识"(也就是你写的git+ssh://...@master)是否匹配,而不会主动去远程仓库检查这个分支有没有新的提交,所以才会出现"已经满足,跳过升级"的提示,但实际本地版本还是旧的。

下面是几个有效的解决方法:

方法1:强制升级目标依赖

直接针对MyOwnPackage执行升级命令,让pip重新拉取远程分支的最新代码:

pip install --upgrade "MyOwnPackage @ git+ssh://git@github.com/myusename/MyOwnPackage@master"

执行完这个命令后,再运行pip install --upgrade -e .就能确保CurrentPackage使用的是最新的依赖版本了。

方法2:清理pip缓存后重新升级

pip会缓存已下载的依赖包,有时候旧的提交缓存会导致它不重新拉取新内容。先清理缓存:

pip cache purge

然后再执行你的升级命令:

pip install --upgrade -e .

这样pip会重新从远程仓库拉取MyOwnPackage的master分支最新代码。

方法3:结合强制重装参数升级(一次性解决)

如果你想一步到位,也可以直接在升级命令里加上--force-reinstall和--no-deps参数(--no-deps是为了避免不必要地重装其他无关依赖):

pip install --upgrade --force-reinstall --no-deps -e .

这个命令会强制重新安装CurrentPackage及其指定的Git依赖,确保拉取最新的代码。

额外提示:长期优化方案

如果希望后续每次执行升级时,pip都能自动检查Git分支的最新提交,可以考虑在安装时添加--upgrade-strategy eager参数(该参数会让pip主动检查所有依赖的远程更新):

pip install --upgrade --upgrade-strategy eager -e .

不过要注意,这个参数会升级所有依赖,如果你只想针对特定依赖更新,方法1会更精准。

内容的提问来源于stack exchange,提问作者Luk Aron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 05:42:35