SSL 报错时
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
WARNING: Retrying (Retry(total\=4, connect\=None, read\=None, redirect\=None, status\=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))': /simple/fastapi/
WARNING: Retrying (Retry(total\=3, connect\=None, read\=None, redirect\=None, status\=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))': /simple/fastapi/
WARNING: Retrying (Retry(total\=2, connect\=None, read\=None, redirect\=None, status\=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))': /simple/fastapi/
WARNING: Retrying (Retry(total\=1, connect\=None, read\=None, redirect\=None, status\=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))': /simple/fastapi/
WARNING: Retrying (Retry(total\=0, connect\=None, read\=None, redirect\=None, status\=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))': /simple/fastapi/
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/fastapi/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host\='pypi.tuna.tsinghua.edu.cn', port\=443): Max retries exceeded with url: /simple/fastapi/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE\_VERIFY\_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1018)'))) - skipping
这个错误信息表明 pip 在尝试从清华大学开源软件镜像站(pypi.tuna.tsinghua.edu.cn)下载软件包时,无法验证 SSL 证书。这可能是由于以下几个原因:
- 证书链不完整或过期。
- 系统的根证书存储(CA bundle)没有更新。
- 网络问题或中间人攻击尝试。
以下是一些可能的解决方案:
方法 1:更新根证书
确保您的操作系统根证书存储是最新的。这通常涉及到更新您的操作系统或安装安全相关的更新。
方法 2:使用 --trusted-host 选项
如果您信任清华大学开源软件镜像站,并且理解这样做的风险(即绕过 SSL 验证可能会使您面临安全风险),则可以使用 --trusted-host
选项来安装软件包:
pip install --trusted-host pypi.tuna.tsinghua.edu.cn fastapi
方法 3:配置 pip 使用清华大学镜像
您可以在 pip 配置文件中永久设置 trusted-host
和使用清华大学镜像:
- 找到 pip 配置文件。在 Unix 或 macOS 上通常是
~/.pip/pip.conf
,在 Windows 上通常是C:\Users\<username>\pip\pip.ini
。 - 编辑配置文件,添加以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
- 保存文件并尝试再次安装软件包。
方法 4:更新 Python 和 pip
确保您的 Python 和 pip 是最新版本,因为旧版本可能不支持最新的加密标准或证书格式。
pip install --upgrade pip
方法 5:检查网络连接
确保您的网络连接是稳定的,并且没有防火墙或代理设置阻止了 pip 访问外部资源。
请根据您的具体情况选择适合的方法。如果可能,最好解决证书验证问题,而不是简单地绕过它。
本文由 邓尘锋 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Feb 27, 2025 at 10:44 pm