[英]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.