Windows 10下多Python版本pip代理配置失败问题求助
解决双Python版本下pip代理报错的问题
嗨,我来帮你搞定这个问题~你遇到的情况是Windows下Python 2.7和3.9共存时,pip调用混淆加上代理配置解析错误导致的,咱们一步步来解决:
先搞清楚核心问题:你调用的是哪个pip?
从报错日志里能看到,你在全局运行pip时,实际调用的是Python3.9的pip(日志路径是c:\users\linosa\appdata\local\programs\python\python39\lib\site-packages\pip),而你在Python2.7的Scripts目录运行时,是直接调用了该目录下的pip2.7,所以没问题。这是因为系统PATH环境变量里,Python3.9的Scripts目录优先级更高。
解决方案1:明确指定pip版本(最稳妥的方式)
避免版本混淆的最佳做法是直接通过Python解释器调用对应版本的pip,这样就不会搞错:
- 给Python2.7安装包:
或者直接用全路径调用:python2 -m pip install <package> --proxy http://myproxy:portC:\Python27\Scripts\pip.exe install <package> --proxy http://myproxy:port - 给Python3.9安装包:
或者全路径:python3 -m pip install <package> --proxy http://myproxy:portC:\Users\linosa\AppData\Local\Programs\Python\Python39\Scripts\pip.exe install <package> --proxy http://myproxy:port
解决方案2:修复代理配置解析错误
报错ProxySchemeUnknown: Not supported proxy scheme None说明代理URL的格式有问题,或者pip的配置里有错误的代理设置:
- 检查代理URL格式:确保你输入的是
http://myproxy:port,尽量不要在末尾加斜杠(/),有些情况下斜杠会导致URL解析失败,把scheme识别成None。 - 给对应pip配置永久代理:如果经常需要用代理,可以给指定版本的pip配置全局代理,不用每次输入:
- 给Python2.7配置:
python2 -m pip config set global.proxy http://myproxy:port - 给Python3.9配置:
python3 -m pip config set global.proxy http://myproxy:port
- 给Python2.7配置:
- 清除错误的代理配置:如果之前配置过错误的代理,先清除再重新设置:
# 清除Python2.7的pip代理 python2 -m pip config unset global.proxy # 清除Python3.9的pip代理 python3 -m pip config unset global.proxy
解决方案3:调整PATH环境变量(可选)
如果你希望默认调用某个版本的pip,可以调整系统PATH的顺序:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」里找到
PATH,点击「编辑」 - 把你常用的Python版本的Scripts目录(比如Python2.7的
C:\Python27\Scripts)移到Python3.9的Scripts目录前面,这样系统会优先调用前者的pip。不过还是更推荐用pythonX -m pip的方式,避免后续版本混淆。
内容的提问来源于stack exchange,提问作者haltman
相关产品推荐
相关产品推荐

