You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6.0下pip代理环境中--trusted-host失效及证书验证问题求助

解决代理环境下pip安装时SSL证书问题及证书验证配置

首先,你遇到的pip._vendor.requests.exceptions.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol错误,大概率是因为代理环境中pip没有正确处理SSL证书,或者你指定的--trusted-host覆盖范围不全导致的。结合Python 3.6.0的环境,我给你梳理几个可行的解决方案:

1. 补全--trusted-host覆盖的PyPI域名

旧版本的pip(尤其是Python 3.6默认的pip版本)对PyPI的源覆盖不全,现在PyPI的包索引和下载涉及多个核心域名:pypi.python.org、pypi.org、files.pythonhosted.org。只指定其中一个的话,下载包时访问其他域名仍会触发SSL验证失败。

你可以把所有相关域名都加入参数:

pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org package

2. 升级pip到适配Python 3.6的最新版本

Python 3.6已停止维护,但pip 20.3.x系列是最后支持它的版本。旧版本pip在代理和SSL处理上存在不少bug,升级后能解决很多兼容性问题:

pip install pip==20.3.4 --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org

3. 配置代理CA证书实现证书验证(而非跳过)

如果你的需求是验证证书而不是绕过验证,需要让pip信任代理的CA证书(代理通常会替换SSL证书链),有两种配置方式:

方式一:临时通过环境变量配置

执行pip命令前,设置REQUESTS_CA_BUNDLE指向代理CA证书路径:

  • Linux/macOS:
    export REQUESTS_CA_BUNDLE=/path/to/your/proxy-ca.crt
    pip install package
    
  • Windows(命令提示符):
    set REQUESTS_CA_BUNDLE=C:\path\to\your\proxy-ca.crt
    pip install package
    

方式二:修改pip配置文件永久生效

创建或修改pip的配置文件:

  • Linux/macOS:~/.config/pip/pip.conf
  • Windows:%APPDATA%\pip\pip.ini

在文件中添加以下内容:

[global]
cert = /path/to/your/proxy-ca.crt
# 若需要代理认证,可补充代理配置
proxy = http://your-proxy-address:port
# 代理带用户名密码的格式:proxy = http://username:password@your-proxy-address:port

4. 确认代理环境变量配置正确

确保pip能识别到代理设置,可通过环境变量指定:

  • Linux/macOS:
    export http_proxy=http://your-proxy-address:port
    export https_proxy=http://your-proxy-address:port
    
  • Windows:
    set http_proxy=http://your-proxy-address:port
    set https_proxy=http://your-proxy-address:port
    

内容的提问来源于stack exchange,提问作者Yugendhar Anveshra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:49:29