CLI下git+https代理设置失效问题排查
解决pip安装git+https包时无法通过代理的问题
问题分析
git clone本身能正常走代理,但用pip install安装git+https://开头的包时,pip的--proxy参数只对pip自身的请求生效,克隆git仓库的操作是pip调用系统git命令完成的,这部分不会继承pip的代理设置,所以导致git+https部分无法走代理。你之前修改的命令错误地手动添加了git clone,不符合pip的语法规范,自然解决不了问题。
可行解决方案
方案1:临时给pip调用的git指定代理
在执行pip命令前,通过GIT_CONFIG_PARAMS环境变量传递git的代理配置,这样pip调用git时会自动使用该代理:
SUDO_WWW GIT_CONFIG_PARAMS="http.proxy=0.0.0.0:8080" $PATH_TO_MISP/venv/bin/pip install --proxy=0.0.0.0:8080 -U python-magic git+https://github.com/kbandla/pydeep.git plyara lief
方案2:提前临时配置git全局代理
先给git设置临时代理,再执行pip安装命令,完成后可按需取消:
# 临时设置git全局HTTP代理 git config --global http.proxy 0.0.0.0:8080 # 执行pip安装操作 SUDO_WWW $PATH_TO_MISP/venv/bin/pip install --proxy=0.0.0.0:8080 -U python-magic git+https://github.com/kbandla/pydeep.git plyara lief # 安装完成后取消git代理(可选,避免影响后续git操作) git config --global --unset http.proxy
补充说明
如果你的代理需要认证(用户名+密码),可以把代理地址写成http://username:password@0.0.0.0:8080的格式,替换对应内容即可。
内容的提问来源于stack exchange,提问作者Waldecker
相关产品推荐
相关产品推荐

