國內網路原因,經常無法訪問一些技術網站,pypi.python.org就是其中一個。
所以,使用pip給Python安裝軟體時,經常出現錯誤。
like this:
File "/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 267, in read raise ReadTimeoutError(self._pool, None, 'Read timed out.') ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.
修改pip連線的軟體庫可以解決這個問題。
http://pypi.douban.com是豆瓣維護一個映象源,軟體更新速度以及源的響應速度都OK。
so,我們可以將pip源指導這裡來安裝Python軟體。
臨時使用
pip install pythonModuleName -i https://pypi.douban.com/simple
在命令列中新增以上引數,可以讓pip從指定的映象源安裝軟體。
永久生效
修改配置檔案
使用者家目錄下的.pip/
比如root使用者:/root/.pip/pip.conf。
[global] index-url = https://pypi.douban.com/simple
在pip.conf中,新增以上內容,就修改了預設的軟體源。以後pip命令會直接從制定的軟體源安裝軟體。
All Steps:
[root@thatsit ~]# pwd /root [root@thatsit ~]# [root@thatsit ~]# mkdir .pip [root@thatsit ~]# vim /root/.pip/pip.conf [root@thatsit ~]# [root@thatsit ~]# cat !$ cat /root/.pip/pip.conf [global] index-url = https://pypi.douban.com/simple [root@thatsit ~]#
問題
http://pypi.douban.com不提供HTTPS連線,關心安全問題的話,請三思後再決定是否使用。這個問題也導致在配置時,需要新增--trusted-host引數,假設軟體源是安全的。
雖然修改了軟體源,但是pip search命令還是不能使用的,因為搜尋軟體使用的協議與安裝軟體不同。pip search基於xmlrpclib實現,pip install基於urllib2實現。同樣地,對pip search設定代理,也是不起作用的。
參考連結: