我运行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
有没有人对此有任何想法?
答案 0 :(得分:111)
我知道这是一个老线程,但我今天遇到了这个问题并想分享我对这个问题的解决方案,因为我还没有在SO的其他地方看到这个解决方案。
我的环境:关于Ubuntu 12.04.5的Python 2.7.12 / 2.7.14在virtualenv中的LTS,pip版本1.1。
我的错误:
pip install nose
在控制台中:
Cannot fetch index base URL http://pypi.python.org/simple/
在:
Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required
对我很好奇,因为我在脚本中运行这些相同的命令没有问题大约一年。
这解决了它:
pip install --index-url=https://pypi.python.org/simple/
(注意https)
希望这有助于某人!
答案 1 :(得分:43)
您需要升级您的点子安装。
Goat
(简短版本:--index-url
)选项允许您在pip自身调用中指定index-url,您可以使用https-variant。然后你可以指示pip自我升级。
-i
之后你应该可以在没有sudo pip install --index-url https://pypi.python.org/simple/ --upgrade pip
选项的情况下使用pip。
我认为发布7.0.0 (2015-05-21)触发了这个问题。该版本的发行说明如下:
BACKWARD INCOMPATIBLE 不再暗中支持不安全的来源 相反,需要明确信任不安全的起源 使用
--index-url
选项。
您可以使用--trusted-host
检查您的点数版本。
这意味着发布pip --version
一次也可以解决这个问题,尽管下载了不安全的http。这可能根本不起作用,因为服务器上可能无法再访问不安全的端点(我没有对此进行过测试)。
答案 2 :(得分:42)
修改强>
当前版本的PIP
不再存在此问题。截至目前,版本:7.1.2
是当前版本。以下是PIP
链接:
https://pypi.python.org/pypi/pip
ORIGINAL FIX:
尝试使用pip==1.5.4
这是与PIP和Python的PYPI信任SSL证书相关的问题。如果您查看Mac OS X中的PIP日志: /Users/username/.pip/pip.log ,它将为您提供更多详细信息。
让我的解决方法是在经过数小时尝试不同的东西后恢复和运行PIP是我的 site-packages ,无论是在 virtualenv 还是在您正常的 site-packages ,并摆脱当前的PIP版本。对我来说,我有pip==1.5.4
我删除了PIP目录和PIP egg文件。然后我跑了
easy_install pip==1.2.1
此版本的PIP没有SSL问题,然后我能够在我的virtualenv中运行我的正常pip install -r requirements.txt
来设置我希望列在我{{1}中的所有软件包文件。
这也是我发现Google群组中有几个人通过该问题的推荐黑客:
https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw
答案 3 :(得分:12)
检查你的代理连接,我有类似的问题,然后我改变了我的连接,它没有代理和繁荣,它开始下载和设置库
答案 4 :(得分:12)
我添加了--proxy命令行选项指向代理并且它正在工作(pip版本是1.5.4和python 2.7)。由于某种原因,它没有采用shell env变量HTTPS_PROXY,HTTP_PROXY,https_proxy,http_proxy。
sudo pip --proxy [user:passwd@]proxy.server:port install git-review
答案 5 :(得分:6)
我对pip 1.5.6也有同样的问题。
我刚刚删除了〜/ .pip文件夹,它就像一个魅力。
rm -r ~/.pip/
答案 6 :(得分:6)
pip==1.5.6
我遇到了同样的问题。我不得不纠正我的系统时间。
# date -s "2014-12-09 10:09:50"
答案 7 :(得分:5)
这对我在Ubuntu 12.04上有用。
pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn
答案 8 :(得分:4)
如果这不是代理/网络问题,您应该尝试创建/编辑配置文件.pip/pip.conf
,或者如果您以root /root/.pip/pip.conf
运行pip。检查并将index-url从http更改为 https 。
应该是这样的:
[global]
index-url=https://pypi.python.org/simple/
使用Ubuntu 12和pip 9.0.1为我工作
答案 9 :(得分:3)
它有效!
sudo pip --proxy = http://202.194.64.89:8000 install elasticsearch; 202.194.64.89:8000是我的PROXY,
答案 10 :(得分:2)
我能够通过升级我的python来解决这个问题,而python之前已经附加到过时版本的OpenSSL上了。现在它正在使用1.0.1h-1,我的包将pip install。
仅供参考,我的日志和命令,使用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
答案 11 :(得分:1)
如果你的代理配置正确,那么pip版本1.5.6将正确处理。错误已经解决。
您可以使用easy_install pip==1.5.6
答案 12 :(得分:1)
额外答案:如果您是从 chroot 执行此操作。
您需要随机数源才能与pypi建立安全连接。
在linux上,您可以将主机dev绑定到chroot dev:
mount --bind /dev /path-to-chroot/dev
答案 13 :(得分:1)
我在代理连接中安装pyinstaller时也遇到此错误。我只是连接直接的Internet连接(使用我的加密狗)并再次这样做。
sudo pip install pyinstaller
这对我有用。
答案 14 :(得分:1)
您可能缺少/etc/resolv.conf中的DNS服务器配置
确保你可以ping到: ping pypi.python.org
如果你没有获得ping,请尝试将DNS服务器添加到文件中......例如:
nameserver xxx.xxx.xxx.xxx
答案 15 :(得分:1)
我的解释/查询是针对 windows环境
我对python很新,这对于仍然比我更新的人。
我安装了最新的pip(python安装程序包)并从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载了32位/ 64位(开源)兼容的二进制文件,并且它可以工作。
安装pip的步骤,虽然在python安装期间默认安装了pip www.python.org/downloads/
- 从https://pypi.python.org/pypi/pip下载pip-7.1.0.tar.gz。
- 解压缩并解压缩上述文件。
- 在pip-7.1.0文件夹中,运行:python setup.py install。这个安装了pip最新版本
使用pip安装(任何可行的操作)二进制包。
运行pip app进行工作(安装文件),如下所示:
\ python27 \ scripts \ pip2.7.exe安装file_path \ file_name --proxy
如果你面对轮子(即鸡蛋)问题,请使用兼容的二进制包文件。
希望这会有所帮助。
答案 16 :(得分:1)
在我的情况下(Python 3.4,在虚拟环境中,在macOS 10.10.6下运行)我甚至无法升级pip
本身。来自this SO answer的帮助来自以下单行:
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/
。
答案 17 :(得分:1)
我面临同样的问题,但这是相关的代理。它是通过设置代理来解决的。
Set http_proxy=http://myuserid:mypassword@myproxyname:myproxyport
Set https_proxy=http://myuserid:mypassword@myproxyname:myproxyport
这可能有助于某人。
答案 18 :(得分:1)
就我而言,我将安装django(
pip安装Django
) 并且它与ssl证书存在相同的问题(无法获取索引基本URL http://pypi.python.org/simple/)
它来自virtualenv,所以请这样做:
第一: 删除您的virtualenv
停用 rm -rf env
第二: 检查是否有点子
pip3 -V
如果您没有
sudo apt-get install python3-pip
最后:
使用nosite-packages安装virtualenv 并创造出您的环境
sudo pip3安装virtualenv virtualenv --no-site-packages -p /usr/bin/python3.6
。 env / bin / activate
答案 19 :(得分:0)
我的问题是系统virtualenv
版本。
当我使用python3 venv创建一个env时,一切正常。但是当我使用virtualenv(默认使用python2.7)创建一个env时,我会收到这些错误消息。
在virtualenv
创建的点数版本为1.5.6
,但我的系统点数版本为10.0.1
然后我跑了(在任何环境之外):
pip install virtualenv --upgrade
它已将virtualenv
升级为版本16.0.0
,现在,使用pip install
和virtualenv
创建的env中的python2.7
完美无瑕。此外,env中的pip
版本现在为10.0.1
。
升级前:
答案 20 :(得分:0)
我尝试了几乎所有的答案,没有修复我的错误,所以我只是重新安装python(在我的情况下我有2.7.9版本,我安装2.7.15)并且错误最终修复。 无需先卸载python,安装程序会为您执行此操作。
答案 21 :(得分:0)
我现在在$HOME/.pip/pip.log
:
Could not fetch URL https://pypi.python.org/simple/: HTTP Error 403: TLSv1.2+ is required
我没有一个直截了当的解决方案,但我提到它是值得注意的事情,然后你在这里浪费时间尝试其他一些解决方案。
trusted-host
没有改变任何东西(不知道我选择了什么)我的openssl
过于陈旧,甚至不能ssl.OPENSSL_VERSION
,所以也许这就是解释。
最后,擦除我的虚拟环境并使用virtualenv --setuptools env
重新创建它似乎已经修复了至少主要阻止程序。
这是一个非常古老的Debian盒子,Python 2.6.6。
答案 22 :(得分: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私有副本。的 由系统管理的系统和用户钥匙串中的信任证书 钥匙串访问应用程序和安全命令行实用程序是 不被Python ssl模块用作默认值。样例命令 脚本包含在/ Applications / Python 3.8中,用于安装 第三方证书中的默认根证书捆绑 包(https://pypi.org/project/certifi/)。双击安装 可以运行它的证书。
捆绑的点有其自己的默认证书存储区,用于验证 下载连接。
此升级后,运行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] certificate verify failed (_ssl.c:749))
答案 23 :(得分: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 可能会因分布而异。
答案 24 :(得分:0)
如果您在Windows上的Docker容器中运行这些命令,则可能意味着您的docker机器的网络连接已过时且需要重建。要修复它,请运行以下命令:
docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
答案 25 :(得分: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):
答案 26 :(得分:0)
我和你见过同样的问题。当我意识到它可能是由numpy或pip的无与伦比的版本引起的时候,我卸载了numpy和pip,然后继续这样' https://radimrehurek.com/gensim/install.html',最后我成功了!
答案 27 :(得分:0)
In case you use a firewall, make sure outbound connections to port 443 are not blocked, e.g. run:
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
答案 28 :(得分: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
答案 29 :(得分:0)
我也使用所选择的解决方案(降级点)来解决这个问题,直到我遇到由同一个潜在问题引起的另一个看似无关的问题。 Python的OpenSSL版本已经过时了。检查您的OpenSSL版本:
python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
如果版本为0.9.7
,则应验证是否需要更新OpenSSL。如果你知道如何直接做到这一点,那很好(但请在评论中告诉我)。如果没有,你可以按照this answer中的建议,从64位/ 32位安装程序重新安装python,而不是从python.org重新安装python(我使用的是python 3.4.2)。我现在有OpenSSL版本0.9.8
,而且没有这些问题。
答案 30 :(得分:0)
我曾经使用easy_install pip==1.2.1
解决方法,但我随机found如果您遇到此错误,则可能安装了32位版本的python。
如果你通过从源代码安装它来安装它的64位版本,然后在它上构建你的virtualenv,你将不再有那个pip bug。
答案 31 :(得分: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
答案 32 :(得分: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再次正常工作。
答案 33 :(得分:-1)