
国内网络原因,经常无法访问一些技术网站,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设置代理,也是不起作用的。
参考链接: