pip和conda使用清华镜像加快python包下载速度

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

导语

听说最近Pytorch支持MacBook M1芯片上运行加速了,我想在MacBook上试一下,结果在使用pip安装时,速度一直很慢,而且总是下载到一半就报网络错误终止。重新尝试好几次后仍未成功,终于使用pip更换镜像后解决了该问题,特此记录。

问题描述

笔者使用的是MacBook Pro M1版本的笔记本电脑。之前Pytorch一直不支持M1芯片的加速,最近听同学说好像这个问题解决了。今天去官网看了一下,确实有了Mac版本的Pytorch。

image.png

于是,通过使用Pytorch官方推荐的命令,利用pip进行安装。

(hfai) jiexing@jiexingdeMacBook-Pro resnet % pip3 install torch torchvision torchaudio
Collecting torch
  Downloading torch-1.12.0-cp38-none-macosx_10_9_x86_64.whl (137.6 MB)
     ━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.2/137.6 MB 290.3 kB/s eta 0:06:31
ERROR: Exception:
Traceback (most recent call last):
  File "/Users/jiexing/opt/anaconda3/envs/hfai/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 435, in _error_catcher
    yield
……
  File "/Users/jiexing/opt/anaconda3/envs/hfai/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 440, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

结果如上面所示,每次总是下载不到一半就报错:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

问题排查

经过在网上查找资料,发现该问题是由于pip默认的镜像库在国外,导致访问速度慢且不稳定导致。而且,由于torch这个库文件比较大,更加增加了文件下载带来的网络问题的风险。

解决方法也很简单,我之前在CSDN发表过一篇关于conda和pip更换清华镜像的博客,这里对其进行搬运。

 conda使用清华镜像

首先打开Anaconda Prompt,切换到自己的虚拟环境。之后分别输入以下三条命令执行:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

然后在使用conda进行包的下载安装时将会使用清华镜像,速度会快很多。比如:

conda install matplotlib=2.2.3

pip使用清华镜像

1.当次使用

在使用pip install命令时可以在后面加上参数-i pypi.tuna.tsinghua.edu.cn/simple,这样在本…

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib==2.2.4

但这样只是这一次生效,如果每次都这样的话将会比较麻烦。

2.永久使用

在Windows环境下,可以直接在当前用户的目录(比如我的目录就是C:\User\Glamour)下新建一个pip目录,在里面新建一个pip.ini文件,写入如下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

保存即可。之后使用pip安装包时就快多了。

问题解决

回到今天遇到的问题,我在pip install [name]后加上-i https://pypi.tuna.tsinghua.edu.cn/simple参数后就完美解决

(hfai) jiexing@jiexingdeMacBook-Pro resnet % pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple/
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
……
Installing collected packages: torch, pillow, torchvision, torchaudio
Successfully installed pillow-9.2.0 torch-1.12.0 torchaudio-0.12.0 torchvision-0.13.0

拓展:其他国内镜像源

除了清华镜像源,国内还有一些知名的镜像源如阿里镜像源,科大镜像源等,其具体列表(不完全统计)如下:

总结

本篇博客主要介绍了如何在conda和pip中使用清华镜像进行稳定,快速的python包安装,通过使用-i参数可以灵活设置包的下载地址,非常方便。最后,本文也给出了一些除了清华镜像之外的其他包下载地址可以灵活使用。

猜你喜欢

转载自juejin.im/post/7126197539661053965
今日推荐