修改pip源到國內的映象源

That's_it發表於2017-02-03

國內網路原因,經常無法訪問一些技術網站,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設定代理,也是不起作用的。

參考連結:

http://blog.xiayf.cn/2013/11/01/change-pypi-mirror/

相關文章