大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。
本文主要介绍了pip install timeout(即pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out).解决方案,希望能对新手有所帮助。
更加完整的报错信息如下所示:
文章目录
- 1. 问题描述
- 2. 解决方案
- 2.1 方案一
- 2.2 方案二
- 2.3 方案三
1. 问题描述
今天在新电脑通过安装anaconda配置Python环境后,使用pip命令安装库gevent,但在安装进度条大约为80%时,出现了错误:
最下方的报错信息如下所示:
更加完整的报错信息如下所示:
2. 解决方案
根据pip的官方文档(链接为https://pip.pypa.io/en/stable/cli/pip/)可知,pip下载库的默认时间为15s(秒),也就是说如果下载库的时间超过15s就会触发timed out的错误。
需要特别注意的是,所有命令必须要在cmd中执行。如果不想深入研读,只想快速解决问题,直接跳到方案二中的结合设置timeout时间和使用清华软件镜像站的命令的使用方法即可。
2.1 方案一
增大timeout时间,具体pip安装命令如下,其中xxx即为库名称,比如pandas:
pip install --default-timeout=1000 xxx
2.2 方案二
由于下载库的默认服务器域名为files.pythonhosted.org,根据域名查询可得,服务器并不位于大陆,传输距离较远,所以下载速度较慢。
所以可通过设置下载服务器为国内镜像站(简单来说,镜像站就是内容相同并且位于国内的网站),如果是单次下载,直接使用pip命令下载即可,其中xxx即为库名称,如pandas,下列命令使用的是清华软件镜像站:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx
如果想要一劳永逸(永久设置为清华软件镜像站),设置方法为:
python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
结合设置timeout时间和使用清华软件镜像站的命令如下所示,其中xxx即为库名称:
pip install --default-timeout=1000 -i https://pypi.tuna.tsinghua.edu.cn/simple xxx
为了方便新手理解,举个例子:
pip install --default-timeout=1000 -i https://pypi.tuna.tsinghua.edu.cn/simple gevent
从龟速变成了飞一般的下载速度,如下图所示,其中Successfully installed表示安装成功:
2.3 方案三
如果尝试了方案一和方案二依然出现timeout的错误,那只能说明网络环境太差。如果使用的是校园网或者公司网环境,不妨使用手机移动流量并设置热点,然后将电脑连接到热点中进行pip命令安装。