使用Python“pip”安装时出错:无法获取索引基URL http://

时间:2012-07-30 15:39:31

标签: python django pip

我正在尝试安装本地版本的ScrumDo进行测试。只有这样,我才能在我的安装中找到我必须运行的地方:

  

来源箱/激活
  pip install -r requirements.txt

我收到错误:

  

下载/解压缩django-storages

     
    

无法获取索引库URL http://b.pypi.python.org/simple/
     找不到满足django-storages要求的任何下载

  
     

django-storages没有发现任何发行版   存储完整的登录./pip-log.txt

我google了一下,在这里搜索Stack Overflow并发现我应该添加一个--proxy =选项和/或取消设置我的http_proxy环境变量。但我的安装没有代理,并且未设置环境var。我试过跑

  

pip install -r requirements.txt --proxy =

然而错误仍然是一样的。我还创建了一个/root/.pip/pip.conf,其中包含:

  

[全球]
  index-url = http://b.pypi.python.org/simple

并检查服务器实际上是否在线,如果存在django-storage包,则两者都是如此。

我尝试的最后一件事,因为install doc of ScrumDo这样说:

  

pip install -U Django == 1.1.4

再次没有成功......错误始终保持不变,任何人都有任何想法?

我的pip-error.log显示以下内容(该URL在同一网络中不使用代理的不同计算机上的firefox中工作,我可以在同一台计算机上ping它):

/var/www/ScrumDo/pinax-env/bin/pip run on Mon Jul 30 10:24:08 2012
proxy):

Downloading/unpacking Django==1.1.4
proxy):

  Getting page http://b.pypi.python.org/simple/Django
proxy):

  Could not fetch URL http://b.pypi.python.org/simple/Django: HTTP Error 404: Not Found
proxy):

  Will skip URL http://b.pypi.python.org/simple/Django when looking for download links for Django==1.1.4
proxy):

  Getting page http://b.pypi.python.org/simple/
proxy):

  Could not fetch URL http://b.pypi.python.org/simple/: HTTP Error 404: Not Found
proxy):

  Will skip URL http://b.pypi.python.org/simple/ when looking for download links for Django==1.1.4
proxy):

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

  URLs to search for versions for Django==1.1.4:
proxy):

  * http://b.pypi.python.org/simple/Django/1.1.4
proxy):

  * http://b.pypi.python.org/simple/Django/
proxy):

  Getting page http://b.pypi.python.org/simple/Django/1.1.4
proxy):

  Getting page http://b.pypi.python.org/simple/Django/
proxy):

  Could not fetch URL http://b.pypi.python.org/simple/Django/1.1.4: HTTP Error 404: Not Found
proxy):

  Will skip URL http://b.pypi.python.org/simple/Django/1.1.4 when looking for download links for Django==1.1.4
proxy):

  Could not fetch URL http://b.pypi.python.org/simple/Django/: HTTP Error 404: Not Found
proxy):

  Will skip URL http://b.pypi.python.org/simple/Django/ when looking for download links for Django==1.1.4
proxy):

  Could not find any downloads that satisfy the requirement Django==1.1.4
No distributions at all found for Django==1.1.4
proxy):

Exception information:
proxy):

Traceback (most recent call last):
  File "/var/www/ScrumDo/pinax-env/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg/pip.py", line 482, in main
proxy):

    self.run(options, args)
proxy):

  File "/var/www/ScrumDo/pinax-env/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg/pip.py", line 675, in run
proxy):

    requirement_set.install_files(finder, force_root_egg_info=self.bundle)
proxy):

  File "/var/www/ScrumDo/pinax-env/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg/pip.py", line 2422, in install_files
proxy):

    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
proxy):

proxy):

  File "/var/www/ScrumDo/pinax-env/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg/pip.py", line 1485, in find_requirement
proxy):

proxy):

    raise DistributionNotFound('No distributions at all found for %s' % req)
proxy):


proxy):

DistributionNotFound: No distributions at all found for Django==1.1.4

4 个答案:

答案 0 :(得分:5)

如果您最近尝试使用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很好地配合。

答案 1 :(得分:4)

您可以尝试自行安装django-storages。试试这个吗?

sudo pip install https://bitbucket.org/david/django-storages/get/def732408163.zip

答案 2 :(得分:3)

尝试在命令中提供代理设置

pip --proxy=http://user:password@Proxy:PortNumber install -r requirements.txt 

或尝试

export http_proxy=http://user:password@Proxy:PortNumber

答案 3 :(得分:0)

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

解决方案:         sudo nano / etc / network / interface

添加一行:         dns-nameservers 8.8.8.8

保存文件并退出

    sudo ifdown eth0 && sudo ifup eth0

然后pip install应该正常工作。