无代理设置下pip安装PyInstaller遇代理连接超时错误求助
解决PyInstaller安装时强制使用残留代理超时的问题
看起来你遇到的是pip代理配置残留的典型问题——即使你在命令行指定了--proxy="",安装构建依赖的子pip进程还是读取到了系统里残留的代理设置(orrproxy.mphasis.com),导致连接超时。我之前处理过类似的情况,给你几个可行的解决步骤:
1. 临时清空系统代理环境变量
pip会优先读取系统的HTTP_PROXY和HTTPS_PROXY环境变量,而安装构建依赖的子pip进程不会自动继承主命令的--proxy=""参数。先在命令行执行以下命令清空代理:
set HTTP_PROXY= set HTTPS_PROXY= set NO_PROXY=*
执行完后再重新运行PyInstaller安装命令:
pip install c:\users\downloads\pyinstaller-pyinstaller-v4.0-86-gad39eb8.zip
2. 检查并清理pip配置文件
如果环境变量清空后还是不行,大概率是pip配置文件里写死了代理。Windows下需要检查两个位置:
- 用户级配置:
%APPDATA%\pip\pip.ini - 全局配置:
C:\ProgramData\pip\pip.ini
打开这些文件,找到类似下面的配置项,把它们注释掉(加;前缀)或者直接删除:
[global] proxy = http://orrproxy.mphasis.com:xxxx
3. 强制所有请求不走代理
如果上面两步都没解决问题,可以尝试在安装命令里同时加上--no-proxy *参数,确保所有请求都绕过代理:
pip install c:\users\downloads\pyinstaller-pyinstaller-v4.0-86-gad39eb8.zip --proxy="" --no-proxy *
问题根源解释
你看到的错误是安装构建依赖时触发的——pip安装本地包时,会启动一个子pip进程去安装setuptools和wheel,这个子进程默认会读取系统的代理配置,不会自动继承主命令的空代理参数,所以才会出现明明指定了空代理,却还是连接旧代理的情况。通过清空环境变量或修改pip配置,可以从根源上解决这个问题。
内容的提问来源于stack exchange,提问作者Mahesh B




