使用 PIP 时出现“SSL:CERTIFICATE_VERIFY_FAILED”错误

Posted

技术标签:

【中文标题】使用 PIP 时出现“SSL:CERTIFICATE_VERIFY_FAILED”错误【英文标题】:"SSL: CERTIFICATE_VERIFY_FAILED" error while using PIP 【发布时间】:2021-01-26 09:07:43 【问题描述】:

从大约一两周前开始,我根本无法使用 pip,因为它总是会返回以下错误:

错误:由于环境错误,无法安装软件包: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max url 超出重试次数: /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)')))

我已经在我的公司 *** 内外对其进行了测试,甚至在我的个人笔记本电脑上进行了尝试(运行 Mojave,而不是在我的主笔记本电脑上运行 Windows 10)。我的家庭互联网以及手机上的热点。同样,我远程访问了我公司的一台澳大利亚机器,也遇到了同样的问题。

我没有更新我的python版本(3.9.0)或pip版本(20.2.3),或者改变我的pip用法,所以突然出现了一个超级令人困惑的问题。 https://status.python.org/ 表示一切正常。

是不是我做错了什么?

完整的 CMD 文本(如果有帮助):

C:\Users\Caleb.Clough\Digital>pip install pandas

收集熊猫

警告:重试(重试(总计 = 4,连接 = 无,读取 = 无, redirect=None, status=None)) 连接中断后 'SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)'))': /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz 警告:重试(重试(总计=3,连接=无,读取=无, redirect=None, status=None)) 连接中断后 'SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)'))': /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz

警告:重试(重试(总数=2,连接=无,读取=无, redirect=None, status=None)) 连接中断后 'SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)'))': /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz

警告:重试(重试(总计 = 1,连接 = 无,读取 = 无, redirect=None, status=None)) 连接中断后 'SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)'))': /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz

警告:重试(重试(总计 = 0,连接 = 无,读取 = 无, redirect=None, status=None)) 连接中断后 'SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)'))': /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz

错误:由于环境错误,无法安装软件包: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max url 超出重试次数: /packages/1b/e5/552ba65835ab43e12b299458fea94ee23886125b8b8aabc91edb03f2ba65/pandas-1.1.3.tar.gz (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取 本地颁发者证书 (_ssl.c:1122)')))

【问题讨论】:

这能回答你的问题吗? pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)" 【参考方案1】:

您可以尝试以下方法吗:

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name>

在你的情况下

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org pandas

【讨论】:

感谢您的帮助@Jeril。奇怪的是,这个命令允许 pip 在我的个人 Mac 上工作,但不能在我运行 Windows 10 的工作计算机上工作。我仍然得到 'Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer)证书(_ssl.c:1122' 错误。在 Git Bash 中尝试过,看看它是否是 CMD 与 bash 问题,但在任何一种情况下都不起作用。这可能是我公司的防火墙问题吗? 可能是因为你公司的防火墙,需要下载到本地试试。我一般从here下载windows python库 你终于救了我。非常感谢 @CcMango 很高兴它有帮助【参考方案2】:

如果您安装了最新版本的 Cisco Any Connect,请尝试卸载 Cisco Umbrella 模块。

【讨论】:

【参考方案3】:

Pandas 是一个 PyPI 存储库。这意味着它存储在 PyPI 服务器中。 如果不能 pip 安装,说明你的 pip 不信任 PyPI 作为“Python 包权威”。

你能做什么:

为了解决这个问题,我会将 PyPI 添加到受信任主机列表中,您可以从中进行 pip 安装。

    确保您有pip.conf 文件:

    在 Windows 中:%HOME%\pip\pip.ini

    在 Linux 中:$HOME/.pip/pip.conf

    使文件看起来像这样:

    [global]trusted-host = pypi.python.org

然后运行:

pip install pandas

【讨论】:

以上是关于使用 PIP 时出现“SSL:CERTIFICATE_VERIFY_FAILED”错误的主要内容,如果未能解决你的问题,请参考以下文章

Python使用pip安装第三方库时出现的问题

使用 pip 安装程序安装 web3 时出现问题(cytoolz 错误)

在 Big Sur 上安装密码学时出现 Pip 错误

python:使用pip安装时出现Fatal error in launcher错误

通过pip3安装pylibmc时出现错误,opensuse Tumbleweed distribution

解决pip安装时出现SSLError的问题