企业代理环境下pip安装包报SSL: WRONG_VERSION_NUMBER错误咨询
企业代理环境下pip安装可行方案
[SSL: WRONG_VERSION_NUMBER]报错核心触发原因是代理协议/端口不匹配、企业代理做了HTTPS流量中间人拦截,此前尝试的三种方案未覆盖这类场景,可按以下顺序尝试:
- 排查代理基础配置错误
- 确认代理端口对应协议:很多企业代理为HTTP、HTTPS流量分配独立端口,若给HTTPS协议的pypi请求配置了HTTP代理端口,会直接触发SSL版本号错误,需提前和企业IT确认两类流量对应的代理端口,不要混用。
- 转义代理地址特殊字符:如果域账号、密码中包含
\、@、:、/这类特殊字符,直接拼接在代理参数中会被pip截断解析失败,需将特殊字符做URL编码后再填入,例如\编码为%5C、@编码为%40,Windows域账号格式DOMAIN\username需转写为DOMAIN%5Cusername再填入代理地址。
- 适配企业代理SSL拦截场景
- 此前添加的
--trusted-host参数仅解决主机信任问题,未覆盖证书校验逻辑,安装时可临时关闭SSL校验,命令示例:pip install 目标包名 --proxy 正确格式的代理地址 --trusted-host pypi.org --trusted-host files.pythonhosted.org --no-cache-dir - 也可直接在pip配置文件中永久添加配置(Windows路径为
%APPDATA%\pip\pip.ini,Linux/macOS路径为~/.config/pip/pip.conf):
*如果企业提供内部根CA证书,可将证书导出后,把[global] proxy = 正确格式的代理地址 trusted-host = pypi.org files.pythonhosted.org verify = falseverify = false替换为cert = 证书本地存储路径,安全性更高。
- 此前添加的
- 使用企业内部PyPI镜像源
绝大多数企业内网会部署私有PyPI镜像源,访问内部源无需走公网代理,是企业环境最稳定的方案,只需在pip配置中指定内部源地址即可,配置示例:[global] index-url = 企业内部PyPI源地址 trusted-host = 内部源对应的域名 - 离线安装兜底
若所有联网方案都受企业网络策略限制,可在可正常访问PyPI的设备上提前下载目标包及所有依赖的whl文件,拷贝到目标设备后执行本地安装:pip install 本地whl文件存放目录/*.whl
内容的提问来源于stack exchange,提问作者IFritzler
相关产品推荐
相关产品推荐

