啥也不說了,眼淚嘩嘩的 –來自怨念深重的不靈狗。
【運行環(huán)境】
1、在ubuntu下使用pip安裝flask-mongoengine;
2、pip已經升到最高版本,你妹,舊版本ctrl + c后還能知道斷在哪,新的就直接連個p都沒有;
3、使用了豆瓣的源做了加速,安裝時還加了能翻墻的代理,然并卵;
4、卡住了,怎么描述錯誤提示?國內和國外google了下都沒有啥相關問題。
5、Extremely slow pypi package retrieval with i.e. pip可以這樣描述嗎?
6、Python 2.7.10
【錯誤提示】
還想要錯誤提示?提示你妹??!卡住之后根本沒有錯誤提示。
(venv)➜ flask-mongoengine-0.7.5 pip install flask-mongoengine --proxy=http://proxy.xxx.com:80 -v
Collecting flask-mongoengine
1 location(s) to search for versions of flask-mongoengine:
* http://pypi.douban.com/simple/flask-mongoengine/
Getting page http://pypi.douban.com/simple/flask-mongoengine/
Starting new HTTP connection (1): proxy.corp.qihoo.net
"GET http://pypi.douban.com/simple/flask-mongoengine/ HTTP/1.1" 301 178
"GET http://pypi.doubanio.com/simple/flask-mongoengine/ HTTP/1.1" 200 1068
Analyzing links from page http://pypi.doubanio.com/simple/flask-mongoengine/
Found link http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz#md5=e207998d4ab5237582c4983cd18ab484 (from http://pypi.doubanio.com/simple/flask-mongoengine/), version: 0.7.5
Using version 0.7.5 (newest of versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7.0, 0.7.1, 0.7.3, 0.7.4, 0.7.5)
"GET http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz HTTP/1.1" 200 110621
Downloading http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz (110kB)
Downloading from URL http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz#md5=e207998d4ab5237582c4983cd18ab484 (from http://pypi.doubanio.com/simple/flask-mongoengine/)
100% |████████████████████████████████| 112kB 44.5MB/s
Running setup.py (path:/tmp/pip-build-5h86uM/flask-mongoengine/setup.py) egg_info for package flask-mongoengine
Running command python setup.py egg_info
#卡在這里不動了
^CCleaning up...
Operation cancelled by user
【問題原因】
手動執(zhí)行,發(fā)現斷在了sock,ssl建立那塊的代碼,說明在下載東西;
明明指定了douban的源, 卻下的依然很慢;
真相只有一個,flask-mongoengine這個庫安裝時很賤的又自己安裝了其他庫(這里筆者稱為二次安裝),二次安裝時走的源是python自帶的[https://pypi.python.org],這樣就卡住了。
【解決方案】
筆者沒有找到比較優(yōu)美的方式解決問題,在pip.conf中沒有設置二次安裝時指定源的方法,英文好的可以再研究下pip使用的官方文檔.
1. root用戶下編輯文件/usr/lib/python2.7/dist-packages/setuptools/package_index.py;
2. 插下廣告:用virtualenv的同學要修改venv目錄下的./lib/python2.7/site-packages/setuptools/package_index.py。
3. 跳到第261行,硬編碼index_url的值,改完后如下:
class PackageIndex(Environment):
"""A distribution index that scans web pages for download URLs"""
def __init__(
self, index_url="http://pypi.douban.com/simple", hosts=('*',),
ca_bundle=None, verify_ssl=True, *args, **kw
):
Environment.__init__(self,*args,**kw)
index_url = "http://pypi.douban.com/simple"
self.index_url = index_url + "/"[:not index_url.endswith('/')]
【執(zhí)行結果】
執(zhí)行命令 pip install flask-mongoengine ,貼一下成功后的提示(holy shit!)
...
done
Removing source in /tmp/pip-build-ZSaB9M/flask-mongoengine
Successfully installed WTForms-2.1 flask-mongoengine-0.7.5 flask-wtf-0.12
Cleaning up...
【fck】
csdn做的markdown這SX玩應兒,在numbered list 中間插個code block,代碼塊后的序號就對不上了,用官方的解決方案完全沒用,只能給最后一條分出個標題了,可憐處女座了。
補充:Python 安裝模塊時,使用pip install xxx安裝時,很慢的解決方法
最近在使用Python的時候需要安裝各種模塊,而pip是很強大的模塊安裝工具,但是由于國外官方pypi經常被墻,導致不可用,所以我們最好是將自己使用的pip源更換一下,這樣就能解決被墻導致的裝不上庫的煩惱。
最近使用得比較多并且比較順手的是清華大學的pip源,它是官網pypi的鏡像,每隔5分鐘同步一次,地址為 https://pypi.tuna.tsinghua.edu.cn/simple
臨時使用方法
比如我們需要安裝 selenium 庫,那么可以使用這樣的安裝命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium
這樣就可以從清華大學的鏡像很快去安裝selenium庫了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Python pip install之SSL異常處理操作
- 解決pyinstaller 打包exe文件太大,用pipenv 縮小exe的問題
- 解決pip install psycopg2出錯問題
- Python pip install如何修改默認下載路徑
- pip install 使用國內鏡像的方法示例
- python用pip install時安裝失敗的一系列問題及解決方法
- python中提高pip install速度
- 基于pip install django失敗時的解決方法