如何修改requirements.txt用gh-cli克隆仓库?是否需改依赖链文件?
如何修改requirements.txt以使用gh-cli克隆仓库
一、调整当前requirements.txt的方案
由于集群禁用端口转发,而gh-cli已处理好仓库认证且默认使用HTTPS(无需端口转发),你可以通过两种方式修改requirements.txt:
方式1:替换为HTTPS格式的Git地址
直接将原有的SSH地址替换为GitHub的HTTPS仓库地址,pip会复用gh-cli的认证信息完成拉取:
black numpy scipy interpackage @ git+https://github.com/[你的用户名或组织名]/interpackage.git otherpackage @ git+https://github.com/[你的用户名或组织名]/otherpackage.git tqdm
方式2:先通过gh-cli克隆到本地,再引用本地路径
如果需要明确依赖本地克隆的包,先执行gh repo clone github.com/[用户名或组织名]/interpackage拉取仓库,再修改requirements.txt指向本地路径:
black numpy scipy interpackage @ file:///绝对路径/to/interpackage otherpackage @ file:///绝对路径/to/otherpackage tqdm
这种方式适合内部包数量较少的场景。
二、关于依赖链中其他包的requirements.txt
- 如果依赖链里的包(如dep1-pkg、dep2-pkg)自身的requirements.txt也用SSH地址引用内部仓库,必须修改这些文件,否则pip安装时仍会尝试用SSH连接,导致失败。
- 若你能控制这些依赖包的源码,直接把它们的requirements.txt中的SSH地址替换为HTTPS格式即可;若无法修改源码,可使用
pip install --no-deps跳过自动依赖安装,再手动将所有依赖替换为HTTPS或本地路径版本后安装,但这种方式操作较繁琐。 - 也可以配置pip的全局参数,将内部仓库的SSH地址映射为HTTPS,但前提是
gh-cli的认证信息已被git的credential helper接管,pip能自动复用该认证。
注意事项
- 确保已在集群上完成
gh auth login,配置好有效认证,这样pip使用HTTPS拉取仓库时无需额外输入凭证。 - 可先单独测试单个内部包的安装:
pip install git+https://github.com/[用户名或组织名]/interpackage.git,确认可行后再批量处理requirements.txt。
内容的提问来源于stack exchange,提问作者DOOM
相关产品推荐
相关产品推荐

