113

我很难使用 pip 安装几乎任何东西。我是编码新手,所以我想这可能是我一直做错的事情,并选择了 easy_install 来完成我需要完成的大部分工作,这通常是有效的。但是,现在我正在尝试下载 nltk 库,但都没有完成工作。

我试着输入

sudo pip install nltk

但得到以下回应:

/Library/Frameworks/Python.framework/Versions/2.7/bin/pip run on Sat May  4 00:15:38 2013
Downloading/unpacking nltk

  Getting page https://pypi.python.org/simple/nltk/
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link]/simple/nltk/ when looking for download links for nltk

  Getting page [need more reputation to post link]/simple/
  Could not fetch URL https://pypi.python. org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Cannot fetch index base URL [need more reputation to post link]

  URLs to search for versions for nltk:
  * [need more reputation to post link]
  Getting page [need more reputation to post link]
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Could not find any downloads that satisfy the requirement nltk

No distributions at all found for nltk

Exception information:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 266, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1026, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/index.py", line 171, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for nltk

--easy_install installed fragments of the library and the code ran into trouble very quickly upon trying to run it.

对这个问题有什么想法吗?我真的很感谢一些关于如何让 pip 工作或同时解决问题的反馈。

4

27 回答 27

142

我发现将 pypi 主机指定为受信任就足够了。例子:

pip install --trusted-host pypi.python.org pytest-xdist
pip install --trusted-host pypi.python.org --upgrade pip

这解决了以下错误:

  Could not fetch URL https://pypi.python.org/simple/pytest-cov/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) - skipping
  Could not find a version that satisfies the requirement pytest-cov (from versions: )
No matching distribution found for pytest-cov

2018 年 4 月更新:对于收到 TLSV1_ALERT_PROTOCOL_VERSION 错误的任何人:它与 OP 的可信主机/验证问题或此答案无关。TLSV1 错误是因为您的解释器不支持 TLS v1.2,您必须升级您的解释器。参见例如https://news.ycombinator.com/item?id=13539034http://pyfound.blogspot.ca/2017/01/time-to-upgrade-your-python-tls-v12.htmlhttps ://bugs.python.org/issue17128

2019 年 2 月更新:对于某些人来说升级 pip 可能就足够了。如果上述错误阻止您执行此操作,请使用 get-pip.py。例如在 Linux 上,

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

更多详细信息,请访问https://pip.pypa.io/en/stable/installing/

于 2016-08-12T01:16:09.597 回答
44

我使用了pip版本9.0.1,遇到了同样的问题,上面的所有答案都没有解决问题,并且由于其他原因我无法使用brew安装python / pip。

升级 pip9.0.3解决了这个问题。而且因为我无法使用 pip 升级 pip,所以我下载了源代码并手动安装了它。

  1. 从 - https://pypi.org/simple/pip/下载正确版本的 pip
  2. sudo python3 pip-9.0.3.tar.gz- 安装点子

或者您可以使用以下命令安装更新的 pip:

curl https://bootstrap.pypa.io/get-pip.py | python
于 2018-04-12T14:12:24.390 回答
33

Pypi 删除了对低于 1.2 的 TLS 版本的支持

你需要重新安装Pip,做

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

或者对于全局 Python:

curl https://bootstrap.pypa.io/get-pip.py | sudo python
于 2018-04-22T15:10:27.687 回答
32

我使用了 pip3 版本9.0.1,最近无法通过命令安装任何软件包pip3 install

Mac os 版本:EI 队长10.11.5

蟒蛇版本:3.5

我尝试了命令:

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

它对我不起作用。

所以我10.0.0通过输入以下内容卸载了旧的 pip 并安装了最新版本:

python3 -m pip uninstall pip setuptools
curl https://bootstrap.pypa.io/get-pip.py | python3

现在我的问题解决了。如果您使用的是 python2,则可以将 python3 替换为 python。我希望它也对你有用。

顺便说一句,对于像我这样的一些菜鸟,你必须输入代码: sudo -i

获得根权:) 祝你好运!

于 2018-04-15T09:28:35.610 回答
28

您可能会看到这个错误;另请参见此处

最简单的解决方法是将 pip 降级为不使用 SSL:easy_install pip==1.2.1的。这会让您失去使用 SSL 的安全优势。真正的解决方案是使用链接到更新的 SSL 库的 Python 发行版。

于 2013-05-04T04:54:00.347 回答
19

SSL 错误的另一个原因可能是糟糕的系统时间——如果离现在太远,证书将无法验证。

于 2014-01-24T05:07:26.083 回答
15

解决方案- 通过在受信任的主机下方标记来安装任何软件包

  • pypi.python.org
  • pypi.org
  • 文件.pythonhosted.org

临时解决方案

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

永久解决方案- 将您的 PIP(版本 9.0.1 的问题)更新到最新版本。

pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org pytest-xdist

python -m pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org --upgrade pip
于 2018-05-04T17:33:28.517 回答
12

我尝试了一些流行的答案,但仍然无法使用pip install.

我的具体错误是'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain使用 Miniconda for Windows(安装程序 Miniconda3-py37_4.8.3-Windows-x86.exe)。

当我这样做时,它终于起作用了: pip install -r requirements.txt --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org

具体来说,我添加了它以使其工作:--trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org

于 2020-08-11T17:34:07.657 回答
10

对我有用的唯一解决方案是:

须藤卷曲https://bootstrap.pypa.io/get-pip.py | 须藤蟒蛇

于 2018-05-25T05:34:33.733 回答
6

--trusted-host pypi.python.org我通过添加选项解决了类似的问题

于 2016-08-09T20:51:52.477 回答
6

要安装任何其他软件包,我必须使用最新版本的 pip,因为它9.0.1有这个 SSL 问题。要通过 pip 本身升级 pip,我必须先解决这个 SSL 问题。为了跳出这个无休止的循环,我发现这是唯一适合我的方法。

  1. 在这个页面找到最新版本的 pip: https ://pypi.org/simple/pip/
  2. 下载.whl最新版本的文件。
  3. 使用 pip 安装最新的 pip。(在此处使用您自己的最新版本)

sudo pip install pip-10.0.1-py2.py3-none-any.whl

现在 pip 是最新版本,可以安装任何东西。

于 2018-04-22T21:12:28.890 回答
5

正如 blackjar 上面发布的那样,以下几行对我有用

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

你需要给所有三个--trusted-host options。在查看答案后,我只尝试了第一个,但它对我不起作用。

于 2018-07-31T11:50:57.980 回答
3

我有同样的问题。我刚刚将 python 从2.7.0更新到2.7.15。它解决了这个问题。

你可以在这里下载。

于 2018-05-16T08:36:11.917 回答
3

macOS Sierra 10.12.6。无法通过 pip 安装任何东西(通过自制软件安装的 python)。以上所有答案均无效。

最终,从 python 3.5 升级到 3.6 成功了。

brew update
brew doctor #(in case you see such suggestion by brew)

然后遵循 brew 的任何其他建议,即覆盖指向 python 的链接。

于 2018-04-11T22:21:32.640 回答
2

你也可以使用 conda 来安装包:见http://conda.pydata.org

conda install nltk

使用 conda 最好的方法是下载 Miniconda,但你也可以尝试

pip install conda
conda init
conda install nltk
于 2014-06-14T21:58:13.463 回答
2

对我来说,如果您只是告诉它不要对安全性如此挑剔,那么最新的 pip (1.5.6) 可以与不安全的 nltk 包一起工作:

pip install --upgrade --force-reinstall --allow-all-external --allow-unverified ntlk nltk
于 2014-09-19T18:26:53.133 回答
2

试过了

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

终于搞定了,不太明白为什么域名pypi.python.org被改变了。

于 2018-06-21T14:11:59.567 回答
1

我在 Windows 7 上做了以下操作来解决这个问题。

c:\Program Files\Python36\Scripts> pip install beautifulsoup4 --trusted-host *

--trusted-host 似乎修复了 SSL 问题, * 表示每个主机。

当然这不起作用,因为您会遇到其他错误,因为没有满足要求 beautifulsoup4 的版本,但我认为该问题与一般问题无关。

于 2018-01-04T22:27:44.703 回答
1

如果您通过代理连接,请执行export https_proxy=<your_proxy>(在 Unix 或 Git Bash 上)然后重试安装。

如果您使用的是 Windows cmd,则会更改为set https_proxy=<your_proxy>.

于 2017-06-23T13:22:59.053 回答
1

只需卸载并重新安装 pip 包,它就会为你们锻炼。

Mac 操作系统版本:高 Sierra 10.13.6

蟒蛇版本:3.7

所以我通过输入以下内容卸载了旧的 pip 并安装了最新的 version10.0.0:

python3 -m pip uninstall pip setuptools

curl https://bootstrap.pypa.io/get-pip.py | python3

现在我的问题解决了。如果您使用的是 python2,则可以将 python3 替换为 python。我希望它也对你有用。

于 2018-09-25T00:08:37.383 回答
0

如果只是关于 nltk,我曾经遇到过类似的问题。尝试以下安装指南。 安装 NLTK

如果您确定它不适用于任何其他模块,则可能是安装了不同版本的 Python 时出现问题。

或者试一试,看看它是否说 pip 已经安装。:

sudo apt-get install python-pip python-dev build-essential 

看看它是否有效。

于 2013-05-04T07:09:53.587 回答
0

我通过以下步骤解决了这个问题(在 sles 11sp2 上)

zypper remove pip
easy_install pip=1.2.1
pip install --upgrade scons

以下是 puppet 中的相同步骤(适用于所有发行版)

  package { 'python-pip':
    ensure => absent,
  }
  exec { 'python-pip':
    command  => '/usr/bin/easy_install pip==1.2.1',
    require  => Package['python-pip'],
  }
  package { 'scons': 
    ensure   => latest,
    provider => pip,
    require  => Exec['python-pip'],
  }
于 2014-07-31T17:02:59.670 回答
0

尝试安装 xcode,然后使用 homebrew 使用“brew install pipenv”安装 pipenv。

于 2021-06-14T15:23:24.257 回答
0

我在 PyCharm 中遇到了这个问题,将 pip 升级到 10.0.1 导致 pip 出现“模块中未找到‘主’”错误。

我可以通过安装 pip 9.0.3 来解决这个问题,如其他线程中所见。这些是我所做的步骤:

  1. 从https://pypi.org/simple/pip/下载了 9.0.3 版本的 pip (因为 pip 不能用于安装它)。
  2. 从 tar.gz python -m pip install pip-9.0.3.tar.gz 安装 pip 9.0.3

在那之后一切都开始起作用了。

于 2018-04-25T20:33:21.413 回答
0

这个视频教程对我有用:

$ curl https://bootstrap.pypa.io/get-pip.py | python
于 2018-07-10T21:59:18.723 回答
0

在 mac Python 2.7.15rc1 上使用最新版本的 python https://bugs.python.org/issue17128

于 2018-04-24T18:06:43.403 回答
0

我通过在我的 Mac 上更新 Python3 Virtualenv 解决了这个问题。我参考了网站https://gist.github.com/pandafulmanda/730a9355e088a9970b18275cb9eadef3
brew install python3
pip3 install virtualenv

于 2019-08-16T07:02:34.287 回答