Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]

Posted

技术标签:

【中文标题】Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]【英文标题】:Python pip install error [SSL: CERTIFICATE_VERIFY_FAILED] 【发布时间】:2015-12-22 17:42:52 【问题描述】:

我一直在尝试解决这个问题,但由于某种原因,我遇到了一个 ssl 问题,不知道发生了什么。

问题: 我已经安装了 python2.7 和 easy_install2.7,但是在尝试使用 easy_install2.7 安装 pip 时出现以下错误。

[root@cops-wc-01]# /usr/local/bin/easy_install-2.7 pip 寻找点子 阅读https://pypi.python.org/simple/pip/ https://pypi.python.org/simple/pip/ 上的下载错误:[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:590) -- 可能找不到某些包! 找不到“pip”的索引页(可能拼写错误?) 所有包裹的扫描索引(这可能需要一段时间) 阅读https://pypi.python.org/simple/ https://pypi.python.org/simple/ 上的下载错误:[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:590) -- 可能找不到某些包! 没有找到 pip 的本地包或下载链接 错误:找不到 Requirement.parse('pip') 的合适分布

它正在尝试下载,但是这个 SSL 证书验证失败阻止了它。

有没有人知道解决这个问题的方法或解决方法?

对不起,如果这是一个菜鸟问题:)

[root@cops-wc-01]# uname -a Linux 2.6.32-504.30.3.el6.x86_64 #1 SMP 2015 年 7 月 15 日星期三 10:13:09 UTC x86_64 x86_64 x86_64 GNU/Linux [root@cops-wc-01]#

Centos 6

【问题讨论】:

【参考方案1】:

很可能 pip 没有验证所需的 CA 证书。

You can force pip to use openssl's CAs 看看是否有帮助。

【讨论】:

感谢您的链接。我看了看,找不到~/.pip/pip.conf。 如果没有,您可以自己创建。没关系。 另外,当尝试发出列出的命令时,我收到以下错误:/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_。 py:90:InsecurePlatformWarning:真正的 SSLContext 对象不可用。这会阻止 urllib3 正确配置 SSL,并可能导致某些 SSL 连接失败。有关详细信息,请参阅urllib3.readthedocs.org/en/latest/…。 InsecurePlatformWarning -------------- 找不到满足要求 pep8 的版本(来自版本:)没有找到 pep8 的匹配分布 那里看起来有问题。您说您安装了 python2.7,但错误消息来自 python 2.6 解释器。如果在 2.7 上仍然出现此错误,您可以找到解决方法 here 这很可能是因为我遇到的问题是使用 easy_install2.7 安装 pip。默认 pip 使用 2.6 :(【参考方案2】:

我没有意识到7.9之后有一个命令“python -M ensurepip。这解决了我的问题。

【讨论】:

嗯我不明白这个答案,我们需要做些什么来解决它?只需运行python -M ensurepip ??这在我的情况下不起作用【参考方案3】:
apt-get install ca-certificates

如果你错过了这个包裹。

【讨论】:

【参考方案4】:

对我有用的最简单的解决方案:

    从https://pypi.python.org/pypi/pip,下载'pip-8.1.2.tar.gz' 使用 pip 安装,“pip install ./pip-8.1.2.tar.gz” 在 ubuntu 服务器上,新版本的 pip 可能安装在不同的位置。如果使用 'pip --version' 检查版本,它仍然是旧版本,例如 pip 1.5.6。要使用新版本 pip 安装包,为方便起见,直接使用绝对路径:

/home/tom/.local/bin/pip install ./gensim-0.13.1.tar.gz

一一安装依赖,下面这样的错误可以绕过。

https://pypi.python.org/simple/pip/ 上的下载错误:[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:590) -- 可能找不到某些包!"

【讨论】:

【参考方案5】:

在 macbook 上把这行放在~/.bash_profile:

export SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem

忘记这个错误。

当然,如果您没有 openssl - 运行 brew install openssl。在第一次编辑.bash_profile 之后不要忘记做. .bash_profile

【讨论】:

【参考方案6】:

在我的设备(运行 nix)上,

$ date showed ...1969

所以我不得不将日期设置为最近的时间:

$ date -s "26 MAR 2017 13:16:00"

然后 SSL 错误消失了。

【讨论】:

【参考方案7】:

我运行了以下命令来解决问题:

$ curl https://bootstrap.pypa.io/get-pip.py >> get-pip.py
$ python get-pip.py

这次将pip升级到v9.0.3,这个版本没有问题。

【讨论】:

【参考方案8】:

由于这是目前在 Google 上针对此问题的热门话题,我想我会分享我的解决方案。就像它一样奇怪。我在 CentOS 7,Python3.6 虽然我相信哪个 Python 版本并不重要。

当我运行 get-pip.py 的新副本时,SSLError / CERTIFICATE_VERIFY_FAILED 也发生在我身上。

解决方案是运行安装命令并将输出通过管道传输到文件中,即python get-pip.py &> output。我还没来得及找出为什么没有 TTY 会影响脚本的环境。

【讨论】:

【参考方案9】:

YAS (又一个解决方案) 我有同样的问题。 尝试了以上所有方法。 通过升级 pip 和 setuptools 解决了我的问题:

$ pip install -U pip setuptools

我还尝试在我的 ~/.pip/pip.conf 文件中添加一个条目:

[global]
trusted=https://pypi.your.domain

【讨论】:

以上是关于Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下使用pip3.6安装模块总是报ssl module in Python is not available的错误

ubuntu下使用pip3.6安装模块总是报ssl module in Python is not available的错误

无法使用 pip 安装软件包(ssl 错误)

python2和python3 在windows下公用 导致python2 pip无法使用 报ssl的错误

SSL:来自 Ubuntu 16.0.4 中 Python pip 的 CERTIFICATE_VERIFY_FAILED 错误

编译apk时Buildozer错误 - pip ssl