簡體   English   中英

pip 無法安裝任何東西

[英]pip cannot install anything

> 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

我做錯了什么嗎?

我曾經使用easy_install pip==1.2.1解決方法,但我隨機發現,如果您遇到此錯誤,則您可能在 64 位機器上安裝了 32 位版本的 python。

簡而言之:如果您通過從源代碼安裝它來安裝它的 64 位版本,然后在其上構建您的 virtualenv,您將不再有那個 pip 錯誤。

這是因為在 pip 配置中 index-url 參數應該指向新的 pypi url。 更改~/.pip/pip.conf的文件,或者如果您以 root 身份運行 pip,請/root/.pip/pip.conf/root/.pip/pip.conf

可能你有這個:

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

你應該為此改變它:

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

然后一切都應該像以前一樣工作。 我希望它能幫助你。

這是下面鏈接的博客文章的全文:

如果您最近嘗試使用 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 一起使用。

目前最簡單的解決方法是安裝不需要 SSL 的 pip 1.2.1:

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 配合使用。

我遇到了同樣的問題,這個錯誤是因為“代理設置”。 下面的語法幫助我成功解決了它:

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

我對 pip 和 easy_install 有類似的問題:

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

正如引用的博客文章中所建議的那樣,某些舊版本的 OpenSSL 與 pip 1.3.1 不兼容肯定存在問題。

安裝 pip-1.2.1 是一種可行的解決方法。

可能相關的問題

[編輯]:

這肯定會發生在 RHEL/CentOS 4 發行版中

解釋在您的日志中:

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

請注意HTTP Error 503: Service Unavailable 當您嘗試執行此操作時,該站點似乎已關閉。

很高興知道 HTTP 5xx 錯誤是服務器端錯誤,因此您可以知道問題不在本地網絡中,而是在遠程網絡中。

這意味着稍后再試;-)(和交叉手指......)(順便說一句,它現在對我有用。)

我對 pip 1.5.6 有同樣的問題。

我剛剛刪除了 ~/.pip 文件夾,它就像一個魅力。

rm -r ~/.pip/

由於代理身份驗證,這發生在我身上,所以我這樣做是為了解決它

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

在 Virtualenv 上嘗試編輯 pip 文件,如下所示:

vi <your_virtualenv_folder>/bin/pip

查看第一行並檢查它是否對應於項目文件夾,如果沒有就更改它。

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

pip 有鏡像支持

pip --use-mirrors install yolk

從 1.5 版開始,此選項將被刪除

1.5(未發布)

向后不兼容的 pip 不再支持 --use-mirrors、-M 和 --mirrors 標志。 鏡像支持已被刪除。 為了使用鏡像,使用 -i 或 --index-url 將其指定為主索引,或者使用 --extra-index-url 將其指定為附加索引。 (拉取 #1098,CVE-2013-5123)

向后不兼容的 pip 不再默認抓取不安全的外部 url,也不會默認安裝外部托管的文件。 用戶可以選擇使用 --allow-external PROJECT 和 --allow-insecure PROJECT 安裝外部托管或不安全的文件或 URL。 (拉#1055)

為日志輸出添加了顏色,以引起對重要警告和錯誤的注意。 (拉#1109)

添加了使用不安全索引、查找鏈接或依賴項鏈接時的警告。 (拉#1121)

您的系統時鍾可能設置在過去。使用 date 命令檢查時間並設置正確

由於我將 Windows 環境變量設置為無效的證書文件,因此出現此錯誤消息。

通過在命令提示符下鍵入SET檢查您是否有CURL_CA_BUNDLE變量。

您可以使用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

在我的情況下,https 端口(443)沒有打開,所以我的防火牆阻止了所有流量,pip 無法下載包。

在我嘗試重置網絡設置后,我也遇到了這個問題。 它解決了問題。

對我來說,它運行了一個簡單的sudo pip -I install <package>

正如man pip所述, -I忽略已安裝的軟件包,而是強制重新安裝。

這個問題很可能是由DNS設置引起的:服務器無法解析域名,因此無法下載包。

解決方案:

     sudo nano /etc/network/interface

添加一行:dns-nameservers 8.8.8.8

保存文件並退出

     sudo ifdown eth0 && sudo ifup eth0

然后 pip install 現在應該可以工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM