pip 安装virtualenv绕过SSL证书
或其他 Python 包。如果问题仍然存在,请提供更多的信息,如网络环境、是否使用代理、系统配置等,以便更准确地解决问题。通过上述方法,你可以尝试解决 SSL 证书验证失败的问题,从而成功安装。在解决此类问题时,首先尝试更新系统证书存储或使用。包,尽量避免使用不安全的。选项,以确保系统的安全性。
·
pip 安装virtualenv报错如下:
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/virtualenv/
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/virtualenv/
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/virtualenv/
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/virtualenv/
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/virtualenv/
Could not fetch URL https://pypi.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)'))) - skipping
ERROR: Could not find a version that satisfies the requirement virtualenv (from versions: none)
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)'))) - skipping
ERROR: No matching distribution found for virtualenv
以下是对上述报错信息的分析和解决方法:
一、错误分析
- SSL 证书验证错误:
- 从报错信息
SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)')
可以看出,在尝试通过HTTPS
连接pypi.org
时,SSL 证书验证失败。这通常发生在 Python 的 SSL 证书验证机制无法验证pypi.org
的证书链,可能是因为本地缺少根证书或证书链不完整。
- 从报错信息
二、解决方法
1. 更新证书存储(Mac):
- 在 Mac 上,你可以尝试更新系统的证书存储,使用以下命令:
sudo /usr/bin/python3 -m ensurepip --upgrade --default-pip
- 解释:
sudo
用于以管理员权限运行命令。/usr/bin/python3
调用系统的 Python 3 解释器。-m ensurepip
确保pip
安装。--upgrade --default-pip
升级pip
到最新版本。
2. 信任证书(临时解决方案):
- 如果你想暂时绕过 SSL 证书验证(不推荐,因为这会降低安全性),可以在使用
pip
时添加--trusted-host
参数。例如,安装virtualenv
时:
pip install virtualenv --trusted-host pypi.org --trusted-host files.pythonhosted.org
- 解释:
--trusted-host pypi.org --trusted-host files.pythonhosted.org
告诉pip
信任pypi.org
和files.pythonhosted.org
,不进行 SSL 证书验证。
3. 检查系统日期和时间:
- 确保你的 Mac 系统的日期和时间设置正确。如果系统日期和时间不正确,可能会导致 SSL 证书验证失败。你可以在系统偏好设置中检查和调整日期和时间。
4. 安装 certifi
包(Python 证书包):
- 你可以尝试安装
certifi
包,它是一个 Python 包,包含了一组根证书。
pip install certifi
然后,可以将 certifi
的证书添加到 Python 的证书存储中:
python -m certifi
- 解释:
pip install certifi
安装certifi
包。python -m certifi
会显示certifi
包中的证书路径,你可以尝试将其配置到 Python 的 SSL 环境中。
5. 检查网络代理和防火墙:
- 如果你在使用网络代理或防火墙,它们可能会干扰 SSL 证书验证。确保代理设置正确,或者暂时关闭代理和防火墙进行测试。
三、修改后的代码示例
- 以下是一个使用
certifi
包解决问题的示例:
pip install certifi
export SSL_CERT_FILE=$(python -m certifi)
pip install virtualenv
- 解释:
- 首先,使用
pip install certifi
安装certifi
包。 - 然后,使用
export SSL_CERT_FILE=$(python -m certifi)
将certifi
的证书路径导出到环境变量SSL_CERT_FILE
中,让 Python 的 SSL 环境使用certifi
的证书。 - 最后,使用
pip install virtualenv
尝试重新安装virtualenv
。
- 首先,使用
四、注意事项
- 安全问题:
- 绕过 SSL 证书验证(使用
--trusted-host
)会使你的连接不安全,容易受到中间人攻击,仅在测试环境或你确认安全的情况下使用。
- 绕过 SSL 证书验证(使用
- 网络环境:
- 确保你的网络环境稳定,尤其是在使用
pip
进行包安装时,网络连接问题可能导致各种异常。
- 确保你的网络环境稳定,尤其是在使用
通过上述方法,你可以尝试解决 SSL 证书验证失败的问题,从而成功安装 virtualenv
或其他 Python 包。如果问题仍然存在,请提供更多的信息,如网络环境、是否使用代理、系统配置等,以便更准确地解决问题。
在解决此类问题时,首先尝试更新系统证书存储或使用 certifi
包,尽量避免使用不安全的 --trusted-host
选项,以确保系统的安全性。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)