pip连接失败:无法获取索引基本URL http://pypi.python.org/simple/


89

我运行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
必须是代理连接
Ossama 2014年

1
“它们似乎都不能解决我的问题”这些是什么?这样我们就不会重复下架。
RandomSeed 2014年

Answers:


142

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

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

我的错误:

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)

希望这对某人有帮助!


非常感谢!在pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)安装了现有的Ubuntu 12.04上,我也遇到了这个问题,实际上是无法使用的。
Josh Kupershmidt

先生,您应该得到一枚奖牌。我的beaglebone黑色遇到了这个问题。现在已修复。
阿迪亚·谢卡瓦

这里有很多答案。除此一项外,没有其他与我相关/为我工作。谢谢!
arielf

pip install --index-url=http://mypypi.net/simple/引发错误ERROR: You must give at least one requirement to install (see "pip help install")
混淆了

@Confounded-感谢您指出这一点,只需在--index-url选项之后列出要安装的软件包即可。有关示例,请参见更新。
mattdedek '19

59

您需要升级pip安装

--index-url(短版:-i)选项,您可以在调用中指定的索引网址将点子本身,还有可以使用https变。然后,您可以指示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 --version

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


42

编辑:

当前版本的PIP不再存在此问题。截至目前,version: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的站点包,无论它是在virtualenv中还是在常规站点包中,都摆脱了当前的PIP版本。对我来说pip==1.5.4

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

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


也为我解决了这个问题。
HorseloverFat 2014年

6
仅供参考,如果您像我一样现在正在阅读此书,则应该升级点数而不是降级。我很惊讶地发现我落后5个主要版本(现在是6.0.8)。升级解决了这个问题:)
Acula博士,2015年

@阿库拉博士你是对的。我已经更新了答案。谢谢。
亚伦·莱里维耶

“您应该升级pip”我无法升级pip的原因与我无法安装软件包的原因相同;HTTP Error 403: SSL is required
user5359531

9
@ user5359531从下载pip tarball PyPI并执行pip install pip-x.x.x.tar.gz
Pelle Nilsson,

13

我添加了--proxy命令行选项以指向代理,并且该代理正在运行(pip版本为1.5.4和python 2.7)。由于某种原因,它没有使用外壳环境变量HTTPS_PROXY,HTTP_PROXY,https_proxy,http_proxy。

sudo pip --proxy [user:passwd@]proxy.server:port install git-review

用户周围是否需要方括号?为什么在密码后使用@符号?
user13107

12

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


1
您如何更改代理连接以使其正常工作?我有同样的问题。
亚伦·勒里维耶

我删除了代理并将连接更改为不带代理的连接,然后在安装后我又恢复工作连接
Ossama 2014年

我面临着同样的问题,我很确定这是一个代理问题。除了使用其他连接之外,是否还有其他解决方法?
shaunakde 2014年

我拴在手机上绕过我公司的代理。不错的解决方案。
HuckIt 2014年

1
我的问题是Fiddler已打开(并且我已配置Fiddler来解密HTTPS流量)。我关闭了Fiddler,效果很好。
AJ理查森

6

我也有同样的问题pip==1.5.6。我必须更正系统时间。

# date -s "2014-12-09 10:09:50"

1
纠正系统时间的另一种方法是使用ntp守护程序。
Jaime M.

对我来说很棒,很高兴它是如此简单地解决了
jamescampbell

6

我在pip 1.5.6上遇到了同样的问题。

我只是删除了〜/ .pip文件夹,它的工作原理很吸引人。

rm -r ~/.pip/

5

这在Ubuntu 12.04上对我有用。

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn

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



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


对不起,我不确定为什么格式化会添加这么多空白行?
AnneTheAgile 2014年

1

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

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

这可能会帮助某人。


1

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

您可以使用以下方式升级点子 easy_install pip==1.5.6


1

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

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

在Linux上,您可以将主机dev绑定安装到chroot dev:

mount --bind /dev /path-to-chroot/dev

1

在代理连接中安装pyinstaller时,我也收到此错误。我只连接了直接Internet连接(使用我的加密狗),然后又做了一次。

 sudo pip install pyinstaller

这对我有用。


1

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

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

如果没有收到ping命令,请尝试将DNS服务器添加到文件中……例如:

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


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
如果您遇到转盘(即鸡蛋)问题,请使用兼容的二进制软件包文件。希望这可以帮助。


1

就我而言(在虚拟环境中在macOS 10.10.6下运行的Python 3.4中,我什至无法升级pip自己)。这样的答复以以下一线形式提供了帮助:

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

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

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


1

就我而言,我会安装django(

pip安装Django

),并且与ssl证书存在相同的问题(无法获取索引基本URL http://pypi.python.org/simple/

它来自virtualenv,所以请执行以下操作:

首先:删除您的virtualenv

停用rm -rf env

第二:检查是否有点子

点3

如果你没有

须藤apt-get install python3-pip

最后:

使用nosite-packages安装virtualenv并创建virenviroment

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

。env / bin / activate


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正常工作来修复该错误。


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

0

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

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


0

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

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

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


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



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):

0

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

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i

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上。


0

我的问题是系统 virtualenv版本。

当我使用python3 venv创建一个env时,一切正常。但是,当我使用virtualenv(默认情况下为python2.7)创建一个env时,会收到这些错误消息。

virtualenv创建的pip版本中1.5.6,但我的系统pip版本为10.0.1

然后我跑了(在任何环境之外):

pip install virtualenv --upgrade

它升级virtualenv到了版本16.0.0,现在可以pip install在环境中完美地创建virtualenvpython2.7工作了。此外,pipenv中的版本现在是10.0.1

升级前:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.