pip无法安装任何东西

时间:2013-07-02 03:27:49

标签: python pip

> pip install yolk
Downloading/unpacking yolk
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement yolk
No distributions at all found for yolk
Storing complete log in /Users/harith/.pip/pip.log

当我看到文件时,我看到了

> cat /Users/harith/.pip/pip.log
------------------------------------------------------------
/Users/harith/.shared/virtualenvs/pennytracker/bin/pip run on Mon Jul  1 20:26:02 2013
Downloading/unpacking yolk

  Getting page https://pypi.python.org/simple/yolk/
  Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/yolk/ when looking for download links for yolk
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/ when looking for download links for yolk
  Cannot fetch index base URL https://pypi.python.org/simple/

  URLs to search for versions for yolk:
  * https://pypi.python.org/simple/yolk/
  Getting page https://pypi.python.org/simple/yolk/
  Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/yolk/ when looking for download links for yolk
  Could not find any downloads that satisfy the requirement yolk

No distributions at all found for yolk

    Exception information:
    Traceback (most recent call last):
      File "/Users/harith/.shared/virtualenvs/pennytracker/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 "/Users/harith/.shared/virtualenvs/pennytracker/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 "/Users/harith/.shared/virtualenvs/pennytracker/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 "/Users/harith/.shared/virtualenvs/pennytracker/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 yolk

我做错了吗?

16 个答案:

答案 0 :(得分:19)

我曾经使用easy_install pip==1.2.1解决方法,但我随机found如果您遇到此错误,您可能在64位计算机上安装了32位版本的python。

简而言之:如果你通过从源代码安装64bit版本来安装它,然后在它上面构建你的virtualenv,你就不会再有那个pip bug了。

答案 1 :(得分:18)

这是因为在pip配置中,index-url参数应该指向新的pypi url。更改~/.pip/pip.conf中的文件,或者如果您以root用户身份运行pip,请执行以下操作:/root/.pip/pip.conf

可能你有这个:

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

你为此改变了它:

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

然后一切都应该像以前一样工作。 我希望它可以帮助你。

答案 2 :(得分:16)

这是以下链接的博文的全文:

如果您最近尝试使用pip安装软件包,则可能遇到此错误:

Could not fetch URL https://pypi.python.org/simple/Django/: 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 https://pypi.python.org/simple/Django/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  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 https://pypi.python.org/simple/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/Django/1.5.1: 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 https://pypi.python.org/simple/Django/1.5.1 when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Could not fetch URL https://pypi.python.org/simple/Django/: 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 https://pypi.python.org/simple/Django/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Could not find any downloads that satisfy the requirement Django==1.5.1 (from -r requirements.txt (line 1))
No distributions at all found for Django==1.5.1 (from -r requirements.txt (line 1))
Storing complete log in /Users/paul/.pip/pip.log

这似乎是旧版本的OpenSSL与pip 1.3.1不兼容的问题。如果您正在使用非库存Python发行版(特别是EPD 7.3),那么您很可能会在没有大量工作的情况下使用pip 1.3.1进行设置。

目前简单的解决方法是安装pip 1.2.1,它不需要SSL:

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

如果你正在使用EPD,并且你没有将它用于可能破坏的类,你可能需要考虑安装新的化身:Enthought Canopy。我知道他们已经知道了以前版本的OpenSSL引起的问题,并且可以想象他们现在正在使用一个新版本,它应该与pip 1.3.1很好地配合。

答案 3 :(得分:5)

我遇到了同样的问题,这个错误是因为'代理设置'。下面的语法帮助我成功解决了它:

sudo pip --proxy=http://username:password@proxyURL:portNumber install yolk

答案 4 :(得分:2)

我遇到了与pip和easy_install类似的问题:

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

正如参考博客文章中所建议的那样,某些旧版本的OpenSSL必须存在incompatible with pip 1.3.1的问题。

安装pip-1.2.1是一种可行的解决方法。

Possibly related question

<强> [编辑]:

这肯定发生在RHEL / CentOS 4发行版

答案 5 :(得分:1)

解释在您的日志中:

Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable

注意HTTP Error 503: Service Unavailable。当你试图这样做时,网站似乎失败了。

很高兴知道HTTP 5xx错误是服务器端错误,因此您可以知道问题不在您的本地网络中,而是在远程网络中。

这意味着稍后再试;-)(和交叉手指......)(现在对我有用。)

答案 6 :(得分:1)

我对pip 1.5.6也有同样的问题。

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

rm -r ~/.pip/

答案 7 :(得分:1)

由于代理身份验证,我发生了这种情况,所以我这样做是为了解决它

export http_proxy=http://uname:password@proxy.domain.com:8080
export https_proxy=http://uname:password@proxy.domain.com:8080
export ftp_proxy=http://uname:password@proxy.domain.com:8080

答案 8 :(得分:1)

在Virtualenv上尝试编辑pip文件,如下所示:

vi <your_virtualenv_folder>/bin/pip

查看第一行并检查它是否对应于项目文件夹,如果不是只是更改它。

#!/<your_path>/<project_folder>/<your_virtualenv_folder>/bin/python

答案 9 :(得分:0)

pip有mirror support

pip --use-mirrors install yolk

从版本1.5开始,this option will be removed

  

1.5(未发布)

     

BACKWARD INCOMPATIBLE pip不再支持--use-mirrors,-M,   和--mirrors标志。镜像支持已被删除。为了   使用镜像使用-i或指定它作为主索引   --index-url,或作为--extra-index-url的附加索引。 (拉#1098,CVE-2013-5123)

     

BACKWARD INCOMPATIBLE pip不再会刮掉不安全的外部网址   默认情况下,它也不会安装外部托管文件。   用户可以选择安装外部托管或不安全的文件或   网址使用--allow-external PROJECT和--allow-insecure PROJECT。   (拉#1055)

     

为日志记录输出添加了颜色以引起注意   重要的警告和错误。 (拉#1109)

     

使用不安全索引,查找链接或依赖项时添加了警告   链接。 (拉#1121)

答案 10 :(得分:0)

您的系统时钟可能已在过去设置。使用date命令检查时间并将其设置正确

答案 11 :(得分:0)

我发生了此错误消息,因为我已将Windows环境变量设置为无效的证书文件。

在命令提示符下键入CURL_CA_BUNDLE,检查是否有SET变量。

您可以使用SET CURL_CA_BUNDLE=

覆盖当前会话

pip.log包含以下内容:

Getting page https://pypi.python.org/simple/pip/
Could not fetch URL https://pypi.python.org/simple/pip/: connection error: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

答案 12 :(得分:0)

在我的情况下,https端口(443)未打开,因此我的防火墙阻止了所有流量,而pip无法下载软件包。

答案 13 :(得分:0)

我尝试重置网络设置后也遇到了这个问题。它解决了问题。

答案 14 :(得分:-1)

对我而言,它工作简单sudo pip -I install <package>

man pip所述,-I忽略已安装的软件包,强制重新安装。

答案 15 :(得分:-2)

此问题最有可能是由DNS设置引起的:服务器无法解析域名,因此无法下载该程序包。

解决方案:

     sudo nano /etc/network/interface

添加一行:dns-nameservers 8.8.8.8

保存文件并退出

     sudo ifdown eth0 && sudo ifup eth0

然后pip install应该正常工作。