如何使用pip更新通过git+https安装的GitHub私有Python包
私有Git包便捷更新方案
可用的便捷更新命令
你不需要先手动卸载包,直接用pip install搭配--force-reinstall参数即可一步完成更新,比卸载重装少一步操作:
- 单次更新命令:
pip install --force-reinstall git+https://github.com/你的GitHub用户名/仓库A.git@main#egg=你的包名
参数说明:
@main指定拉取主分支的最新代码,如果你要拉取其他分支,替换为对应分支名即可#egg=你的包名是pip要求的必填后缀,用于识别安装包的名称,需要替换为仓库A实际的包名- 如果不需要更新该包的依赖项,可以额外加上
--no-deps参数,加快更新速度:pip install --force-reinstall --no-deps git+https://github.com/你的GitHub用户名/仓库A.git@main#egg=你的包名
- 长期简化操作方案:
你可以把仓库A的安装地址直接写进项目B的requirements.txt文件里,格式如下:
git+https://github.com/你的GitHub用户名/仓库A.git@main#egg=你的包名 # 其他依赖项...
之后需要更新的时候直接执行以下命令即可,不需要每次手动输入长串的仓库地址:pip install --force-reinstall -r requirements.txt
如果已经配置了GitHub的SSH密钥,也可以把地址替换为SSH格式,避免每次更新都要输入账号密码:git+ssh://git@github.com/你的GitHub用户名/仓库A.git@main#egg=你的包名
为什么pip update无效
pip的update逻辑是比对PyPI源上的包版本号,判断是否有更新。你通过git地址安装的私有包没有在PyPI上发布对应版本,pip无法识别到主分支的新提交,所以pip update命令不会生效,必须通过强制重装拉取最新分支代码的方式完成更新。
内容的提问来源于stack exchange,提问作者Fran Arenas
相关产品推荐
相关产品推荐

