1、问题
使用pip install命令安装Python模块时,经常会“下载速度慢”甚至“超时”问题,导致模块安装失败。
C:\Users\83894\PycharmProjects\HelloPy\excel>pip install numpy
WARNING: Retrying(Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/numpy/ERROR: Couldnot find a version that satisfies the requirement numpy (from versions: none)ERROR: No matching distribution foundfor numpy
2、原因
类似pip,yum等支持在线安装的工具又或是maven之类的依赖管理工具,一般都会联网从远端的软件仓库(repository)把软件包下载到本地再进行安装。有时候我们需要具体指定从哪个repository中去下载所需的软件安装包。
这得从pip install命令的 --index-url 或者 -i 选项说起。
pip install xxx 默认直接从官方默认的源仓库拉取xxx模块软件进行安装。
pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple 从指定的软件仓库拉取软件副本进行安装。
前者从海外官方仓库(https://pypi.org/simple)下载软件,因而慢和不稳定,有时还可能访问都不通;
后者从国内的镜像仓库下载,自然就不必担心超时的问题了。
3、解决方案
为自己的pip工具配置一个国内的软件镜像仓库。
方式一,临时指定(就是每次敲命令时指定)
pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
方式二,永久配置(配置默认的镜像仓库到文件里)
在当前用户目录下,添加一个pip目录,创建pip.ini文件,编辑如下内容即可。
[global]
index-url= https://pypi.tuna.tsinghua.edu.cn/simple
这样配置之后,新开一个DOS命令行窗口,输入pip install -h回车,可以找到以下一行,说明配置生效了。然后就可以直接使用pip install xxx来安装软件啦,不需要每次加-i选项。
-i, --index-url Base URL of the Python Package Index (default https://pypi.tuna.tsinghua.edu.cn/simple)
以下是摘抄的镜像源,前二经验证可用,后几个没试:
…… :( 我矿啥时也搞一个
4、参考