0%

使用清华镜像源提升python相关软件安装速度

问题描述

在中国下载安装python相关的软件包,由于网络原因,速度非常慢,经常会因为超时或是无法连接而失败。本文记录了使用清华源提升安装速度的方法。
我在使用anaconda创建一个包含python3.8及其他一些包的环境时,一直出现软件下载过程失败的问题,比如下面的报错记录:

1
2
3
4
5
6
7
8
Downloading and Extracting Packages
python-3.8.5 | 49.3 MB | 4 | 1%

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/linux-64/python-3.8.5-hcff3b4d_0.conda>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

使用pip安装软件包时,也很慢,常出现如下面例子的网络问题:

1
2
pip install --force-reinstall numpy
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f4d65026670>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/numpy/

解决方法

虽然错误提示中说,这个问题只是暂时的网络不好,重新试试就可以解决。但实际上经常试好多次都一直有这个问题。我在网络上按照这个错误提示搜索解决方法,找到的我认为最好的答案是,使用清华的镜像源代替默认的源,从中国的镜像源下载的速度的确要快很多。

anaconda使用清华源

清华镜像源提供的anaconda镜像使用帮助提供了anaconda下载和anaconda仓库镜像的使用知道。使用清华anaconda镜像仓库的方法,是通过修改anaconda的.condarc文件实现,参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

修改该文件后,可以运行conda clean -i清除索引缓存,保证用的是镜像站提供的索引。

pip使用清华源

安装python包时,还经常使用pip,网速同样很慢。pypi 镜像使用帮助给出了解决方案。
临时安装一个包时,可以使用:

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

将清华镜像源设为默认:

1
2
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

网络超时问题缓解策略

对于网络超时问题,可以通过conda config --show来查看当前网络连接时间限制,然后使用conda config --set来增大这个限制,比如:

1
2
conda config --set remote_connect_timeout_secs 90
conda config --set remote_read_timeout_secs 600