95

我运行sudo pip install git-review,并收到以下消息:

Downloading/unpacking git-review
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement git-review
No distributions at all found for git-review
Storing complete log in /home/sai/.pip/pip.log

有人对此有任何想法吗?

4

34 回答 34

150

我知道这是一个旧线程,但我今天遇到了这个问题并想分享我的解决方案,因为我在 SO 的其他地方没有看到这个解决方案。

我的环境:虚拟环境中的 Ubuntu 12.04.5 LTS 上的 Python 2.7.12/2.7.14,pip 版本 1.1。

我的错误:

pip install nose

在控制台中:

Cannot fetch index base URL http://pypi.python.org/simple/

在 ~/.pip/pip.log 中:

Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required

对我很好奇,因为我已经在脚本中运行这些相同的命令大约一年没有问题了。

这修复了它:

pip install --index-url=https://pypi.python.org/simple/ nose

(注意https)

希望这对某人有帮助!

于 2017-10-26T21:07:00.173 回答
61

您需要升级您的 pip 安装,因为它仍在使用http而不是https.

( --index-urlshort version: -i) 选项允许您在调用 pip 本身时指定 index-url,在那里您可以使用 https-variant。然后您可以指示 pip 自行升级。

sudo pip install --index-url https://pypi.python.org/simple/ --upgrade pip

之后,您应该能够在没有该--index-url选项的情况下使用 pip。


我相信版本7.0.0 (2015-05-21)触发了这个问题。该版本的发行说明如下:

BACKWARD INCOMPATIBLE不再隐式支持不安全的来源,而是要求使用该--trusted-host选项显式信任不安全的来源。

您可以使用 . 检查您的 pip 版本pip --version

这意味着发布sudo pip install --trusted-host --upgrade pip一次也可以解决这个问题,尽管通过不安全的 http 下载 pip。这也可能根本不起作用,因为服务器上可能不再可以访问不安全的端点(我没有对此进行测试)。

于 2017-12-08T18:51:28.560 回答
42

编辑:

当前版本PIP不再有这个问题。截至目前,版本:7.1.2是当前版本。这是PIP链接:

https://pypi.python.org/pypi/pip

原始修复:

我在尝试使用时遇到了这个问题pip==1.5.4

这是与 PIP 和 Python 的 PYPI 信任 SSL 证书相关的问题。如果您查看 Mac OS X 中的 PIP 日志:/Users/username/.pip/pip.log,它将为您提供更多详细信息。

经过数小时尝试不同的东西后,我让 PIP 恢复并运行的解决方法是在 Python 中进入我的site-packages,无论它是在virtualenv中还是在您的普通site-packages中,并摆脱当前的 PIP 版本。对我来说,我有pip==1.5.4

我删除了 PIP 目录和 PIP egg 文件。然后我跑了

easy_install pip==1.2.1  

这个版本的 PIP 没有 SSL 问题,然后我能够pip install -r requirements.txt在我的 virtualenv 中运行我的正常程序来设置我想要的所有在我的requirements.txt文件中列出的包。

这也是我发现的这个 Google 群组中的几个人推荐的解决问题的方法:

https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw

于 2014-03-17T02:59:43.180 回答
13

我添加了 --proxy 命令行选项来指向代理并且它正在工作(pip 版本是 1.5.4 和 python 2.7)。由于某种原因,它没有采用 shell 环境变量 HTTPS_PROXY、HTTP_PROXY、https_proxy、http_proxy。

sudo pip --proxy [user:passwd@]proxy.server:port install git-review
于 2014-09-17T02:21:37.790 回答
11

检查您的代理连接,我遇到了类似的问题,然后我更改了未代理的连接并且繁荣,它开始下载和设置库

于 2014-01-23T02:38:24.467 回答
8

我对 pip 1.5.6 有同样的问题。

我刚刚删除了 ~/.pip 文件夹,它就像一个魅力。

rm -r ~/.pip/
于 2015-02-04T14:46:03.080 回答
6

我有同样的问题pip==1.5.6。我不得不纠正我的系统时间。

# date -s "2014-12-09 10:09:50"
于 2014-12-06T09:10:03.967 回答
5

这在 Ubuntu 12.04 上对我有用。

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn
于 2018-02-16T01:47:02.703 回答
4

如果这不是代理/网络问题,您应该尝试创建/编辑配置文件.pip/pip.conf,或者如果您以 root 身份运行 pip /root/.pip/pip.conf。检查并将 index-url 从 http 更改为https

它应该是这样的:

[global] 
index-url=https://pypi.python.org/simple/

使用 Ubuntu 12 和 pip 9.0.1 为我工作

于 2017-11-03T12:23:24.203 回答
3

有用!

sudo pip --proxy= http://202.194.64.89:8000 安装弹性搜索;202.194.64.89:8000 是我的代理,

于 2016-05-31T13:02:16.300 回答
3

就我而言(Python 3.4,在虚拟环境中,在 macOS 10.10.6 下运行)我什至无法自行升级pip。帮助来自这个 SO 答案,形式如下:

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

(如果你不使用虚拟环境,你可能需要sudo python。)

有了这个,我设法pip从版本 1.5.6 升级到版本 10.0.0(相当大的飞跃!)。此版本不使用 Python.org 站点不再支持的 TLS 1.0 或 1.1,并且可以很好地安装 PyPI 包。无需指定--index-url=https://pypi.python.org/simple/

于 2018-04-18T13:57:12.780 回答
2

我可以通过升级我的 python 来解决这个问题,该 python 以前附加到过时的 OpenSSL 版本。现在它正在使用 1.0.1h-1,我的包将 pip 安装。

仅供参考,我的日志和命令,使用 anaconda 并安装 pytest-ipynb 包 [1]:


$ conda update python
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /Users/me/anaconda/envs/py27:

The following NEW packages will be INSTALLED: openssl: 1.0.1h-1

The following packages will be UPDATED: python: 2.7.5-3 --> 2.7.8-1 readline: 6.2-1 --> 6.2-2 sqlite: 3.7.13-1 --> 3.8.4.1-0 tk: 8.5.13-1 --> 8.5.15-0

Proceed ([y]/n)? y Unlinking packages ... [ COMPLETE ] |#############################################################| 100% Linking packages ... [ COMPLETE ] |#############################################################| 100%

$ pip install pytest-ipynb Downloading/unpacking pytest-ipynb Downloading pytest-ipynb-0.1.1.tar.gz Running setup.py (path:/private/var/folders/4f/b8gwyhg905x94twqw2pbklyw0000gn/T/pip_build_me/pytest-ipynb/setup.py) egg_info for package pytest-ipynb

Requirement already satisfied (use --upgrade to upgrade): pytest in /Users/me/anaconda/envs/py27/lib/python2.7/site-packages (from pytest-ipynb) Installing collected packages: pytest-ipynb Running setup.py install for pytest-ipynb

Successfully installed pytest-ipynb Cleaning up...

[1] 我关于这个问题的票;https://github.com/zonca/pytest-ipynb/issues/1

于 2014-11-09T15:41:43.533 回答
1

额外答案:如果您是从chroot执行此操作。

您需要随机数来源才能建立与 pypi 的安全连接。

在 linux 上,您可以将主机 dev 绑定到 chroot dev:

mount --bind /dev /path-to-chroot/dev
于 2015-01-29T12:08:41.377 回答
1

如果您的代理配置正确,那么 pip 1.5.6 版将正确处理此问题。该错误已解决。

你可以升级 pipeasy_install pip==1.5.6

于 2014-12-02T19:43:37.607 回答
1

我遇到了同样的问题,但那是相关的代理。它是通过设置代理解决的。

Set http_proxy=http://myuserid:mypassword@myproxyname:myproxyport
Set https_proxy=http://myuserid:mypassword@myproxyname:myproxyport

这可能会帮助某人。

于 2014-11-06T06:48:46.297 回答
1

在代理连接中安装 pyinstaller 时,我也遇到了这个错误。我只是连接直接互联网连接(使用我的加密狗)并再次这样做。

 sudo pip install pyinstaller

这对我有用。

于 2015-05-10T12:06:20.527 回答
1

您可能在 /etc/resolv.conf 中缺少 DNS 服务器配置

确保你可以 ping 到:ping pypi.python.org

如果您没有收到 ping,请尝试将 DNS 服务器添加到文件中...类似于:

名称服务器 xxx.xxx.xxx.xxx

于 2015-06-25T09:17:57.283 回答
1

我的解释/查询是针对windows 环境的。
我对python很陌生,这是给比我还新手的人。我安装了最新的 pip(python 安装程序包)并从http://www.lfd.uci.edu/~gohlke/pythonlibs/
下载了 32 位/64 位(开源)兼容的二进制文件,它工作正常。安装 pip 的步骤,尽管通常在从www.python.org/downloads/安装 python 期间默认安装 pip - 从https://pypi.python.org/pypi/pip 下载 pip-7.1.0.tar.gz . - 解压并解压上述文件。 - 在 pip-7.1.0 文件夹中,运行:python setup.py install。这安装了 pip 最新版本。






使用 pip 安装(任何可行的操作)二进制包。 运行 pip 应用程序来完成工作(安装文件),如下所示:
\python27\scripts\pip2.7.exe install file_path\file_name --proxy
如果遇到车轮(即鸡蛋)问题,请使用兼容的二进制包文件. 希望这可以帮助。

于 2015-08-13T18:01:57.373 回答
1

就我而言,我会安装 django (

点安装django

) 并且它与 ssl 证书有同样的问题 (Cannot fetch index base URL http://pypi.python.org/simple/ )

它来自 virtualenv 所以做:

第一:删除你的virtualenv

停用 rm -rf 环境

第二:检查有点

pip3 -V

如果你没有

sudo apt-get install python3-pip

最后:

使用 nosite-packages 安装 virtualenv 并制作您的 virenviroment

sudo pip3 install virtualenv virtualenv --no-site-packages -p /usr/bin/python3.6

. 环境/bin/激活

于 2018-10-18T09:52:23.500 回答
0

我收到此错误消息~/.pip/pip.log

Could not fetch URL https://pypi.python.org/simple/: connection error: [Errno 185090050] _ssl.c:344: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
  Will skip URL https://pypi.python.org/simple/ when looking for download links for regulargrid

我通过更新我的~/.pip/pip.conf. 它不小心指向了cacert.pem不存在的文件,看起来像这样

[global]
cert = /some/path/.pip/cacert.pem
于 2014-08-22T09:31:59.200 回答
0

尝试重新安装 pip :

curl -O https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
tar xvfz pip-1.2.1.tar.gz
cd pip-1.2.1
python setup.py install

如果 curl 不起作用,您将遇到代理问题,请修复它应该可以正常工作。在 linux 的浏览器中打开 google.com 后检查。

尝试安装

pip install virtualenv
于 2014-11-25T09:07:41.157 回答
0

我曾经使用过这个easy_install pip==1.2.1解决方法,但我随机发现如果你有这个错误,你可能安装了 32 位版本的 python。

如果您通过从源代码安装它来安装它的 64 位版本,然后在其上构建您的 virtualenv,您将不再有那个 pip 错误。

于 2014-09-07T14:33:52.587 回答
0

我也使用选择的解决方案(降级 pip)来解决这个问题,直到我遇到另一个由相同潜在问题引起的看似无关的问题。Python 的 OpenSSL 版本已过时。检查您的 OpenSSL 版本:

python -c 'import ssl; print(ssl.OPENSSL_VERSION)'

如果版本是0.9.7,那应该验证 OpenSSL 是否需要更新。如果您知道如何直接执行此操作,那就太好了(但请在评论中告诉我)。如果没有,您可以按照此答案中的建议,从 64 位/32 位安装程序重新安装 python,而不是从 python.org 重新安装 32 位安装程序(我使用的是 python 3.4.2)。我现在有 OpenSSL 版本0.9.8,没有这些问题。

于 2014-11-22T12:05:13.277 回答
0

我遇到了类似的问题,但就我而言,我遇到了错误:

Downloading/unpacking bencode
  Cannot fetch index base URL http://c.pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement bencode
No distributions at all found for bencode
Storing complete log in /home/andrew/.pip/pip.log

在我的情况下,我能够通过编辑 ~/.pip/pip.conf 并更改http://c.pypi.python.org/simple/http://pypi.python.org/simple然后 pip 再次正常工作来修复错误。

于 2014-06-27T02:29:06.177 回答
0

我尝试了几乎所有的答案,但没有解决我的错误,所以我只是重新安装了 python(在我的情况下,我有 2.7.9 版本,我安装了 2.7.15),错误最终得到修复。无需先卸载python,安装程序会为您完成。

于 2018-06-18T06:33:49.387 回答
0
C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement matplotlib
Cleaning up...
No distributions at all found for matplotlib
Storing debug log for failure in C:\Users\Asus\pip\pip.log

我使用了“easy_install pip==1.2.1”,它运行良好。

C:\Users\Asus>easy_install pip==1.2.1
Searching for pip==1.2.1
Reading https://pypi.python.org/simple/pip/
Best match: pip 1.2.1
Downloading ...

然后使用这个命令'pip install matplotlib'

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):
于 2016-10-21T07:18:46.613 回答
0

您可以尝试使用以下命令:

python -m pip install --trusted-host https://pypi.python.org deepdiff

它会起作用的。

于 2018-09-27T10:20:27.363 回答
0

如果您在 Windows 上的 Docker 容器中运行这些命令,则可能意味着您的 docker 机器的网络连接已过时,需要重新构建。要修复它,请运行以下命令:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
于 2017-05-09T18:28:47.247 回答
0

我发现 Daniel F 和 mattdedek 的解决方案非常有用:使用 https URL,并升级 pip 以使其成为默认值。但这仍然没有为我解决问题。我在 Mac OS X / Python 3.4 下遇到了这个错误:

$ pip3 install Flask
Downloading/unpacking Flask
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement Flask
Cleaning up...
No distributions at all found for Flask
Storing debug log for failure in /Users/huttarl/.pip/pip.log

和 pip.log 基本上显示了同样的事情:

  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/index.py", line 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req) 
pip.exceptions.DistributionNotFound: No distributions at all found for Flask

在朋友的帮助下,我了解到从 Python 3.4 升级到 3.8解决了这个问题。显然这是因为 Python 3 的较新版本之一包含更新的证书

证书验证和 OpenSSL

该软件包包括其自己的 OpenSSL 1.1.1 私有副本。由 Keychain Access 应用程序和安全命令行实用程序管理的系统和用户钥匙串中的信任证书不被 Python ssl 模块用作默认值。/Applications/Python 3.8 中包含一个示例命令脚本,用于安装来自第三方 certifi 包 ( https://pypi.org/project/certifi/ ) 的默认根证书的精选捆绑包。双击安装证书以运行它。

捆绑的 pip 有自己的默认证书存储,用于验证下载连接。

在此升级并运行Install Certificates.command后,pip3 install Flask运行成功。

您可能已经在 Mac OS 中升级到 Python 3.6+,只是忽略了这个证书安装命令。在这种情况下,浏览到 Applications/Python 3.x 并双击Install Certificates.command. (参见Mac OSX python ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:749)

于 2019-11-18T16:56:58.547 回答
0

My problem was the system virtualenv version.

When I created an env with python3 venv everything worked. But when I used virtualenv (by default with python2.7) to create an env I receive those error messages.

In the virtualenv created the pip version was 1.5.6, but my system pip version was 10.0.1

Then I ran (outside any env):

pip install virtualenv --upgrade

It upgraded virtualenv to version 16.0.0 and now my pip install in the envs created with virtualenv and python2.7 work flawlessly. Also, the pip version inside the env is now 10.0.1.

Before upgrade:

于 2018-05-23T16:55:04.513 回答
0

检查 ~/.pip/pip.log

它可能包含错误消息

Could not fetch URL https://pypi.python.org/simple/pip/: 403 Client Error: [[[!!! BREAKING CHANGE !!!]]] Support for clients that do not support Server Name Indication is temporarily disabled and will be permanently deprecated soon. See https://status.python.org/incidents/hzmjhqsdjqgb and https://github.com/pypa/pypi-support/issues/978 [[[!!! END BREAKING CHANGE !!!]]]

如果是这样,解决方法是升级到 Python 2.7 的最后一个版本。见https://github.com/pypa/pypi-support/issues/978

就我而言,我可以这样做,add-apt-repository ppa:fkrull/deadsnakes-python2.7 && apt-get update && apt-get upgrade但 YMMV 可能会因分布而异。

于 2021-06-21T12:46:20.807 回答
0

我现在得到这个$HOME/.pip/pip.log

Could not fetch URL https://pypi.python.org/simple/: HTTP Error 403: TLSv1.2+ is required

我没有一个简单的解决方案,但我提到它是在你浪费时间在这里尝试其他一些解决方案之前需要注意的事情。

  • 我显然已经在使用 https URL
  • 没有代理或防火墙问题
  • 使用trusted-host并没有改变任何东西(不知道我在哪里捡到的)

因为它的价值我openssl太老了,ssl.OPENSSL_VERSION所以也许这就是这里的解释。

最后,擦除我的虚拟环境并重新创建它virtualenv --setuptools env似乎至少修复了主要障碍。

这是在一个非常旧的 Debian 机器上,Python 2.6.6。

于 2018-04-10T06:02:13.210 回答
0

我和你遇到了同样的问题。当我意识到它可能是由不匹配的numpy或pip版本引起的时,我卸载了numpy和pip,然后继续这个' https://radimrehurek.com/gensim/install.html ',终于成功了!

于 2016-02-02T02:55:40.557 回答
0

如果您使用防火墙,请确保没有阻止到端口 443 的出站连接,例如运行:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
于 2015-10-30T21:34:50.727 回答