当我们在使用Python的pip包管理器下载一些第三方库的时候,经常会遇到一些下载速度很慢,或者下载失败的情况。导致这种情况发生是因为我们在使用pip的时候默认的下载源是在国外,所以在我们下载的时候就会由于网络问题而导致下载缓慢或者下载失败,那么解决的方法就是将默认的下载源换成我们国内的下载源。
Python更换下载源
临时指定下载源
在我们下载的时候,可以使用 -i 命令去临时指定下载源,比如以下载wxpython为例,正常下载只需要使用以下命令:
pip install wxpython
这种方式会使用默认的下载源去下载模块,如果此时网络不通畅的话就会导致下载速度缓慢或下载失败,那么可以使用-i参数来指定下载源。比如更换成下面这行代码:
pip install wxpython -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
Copy
执行上面这行命令,则会将下载源修改成阿里云。-i参数表示指定下载源,然后后面是下载源的网址,后面还需要指定主机的地址,之后就可以使用指定的下载源来下载模块。但是这种方式需要在每一次下载的时候都临时指定下载源,会比较麻烦一些,所以我们推荐使用下面的持久更改下载源的方式。
永久更改下载源
永久更换下载源有两种方式,一种是通过命令行的方式,一种是通过修改配置文件的方式。首先来说使用命令行的方式,这种方式是使用命令修改pip的一个全局变量的方式来更改下载源。我们以更换成清华源为案例,详细命令如下:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
图片中描述的就是当我们在终端中输入这条命令之后会出现的结果,如果出现了
Writing to C:\Users\33680\AppData\Roaming\pip\pip.ini
这就表示我们设置的全局变量已经成功并生效了,之后当我们再次使用pip下载模块的时候,默认的下载源就会换成清华源。
那么除了清华源之外,还有其他的几种下载源可以选择:
- 阿里云 Simple Index
- 豆瓣(douban) http://pypi.douban.com/simple/
- 清华大学 Simple Index
- 中国科学技术大学 Simple Index
我们一般在使用的时候选择阿里云或者清华大学的下载源即可。
除了使用命令行的方式之外,还可以使用配置文件的方式来更换下载源,其实这种方式跟之前我们在使用命令行的时候看到的那个返回信息有关,在我们之前执行命令行修改下载源的时候,命令执行完毕时他返回的那段洋文说的是写入了某一个文件,这个文件其实就是pip的配置文件,当你复制这个地址然后再资源管理器里面查找的时候,就能找到这个文件:
上图中所描述的就是在资源管理器中打开的pip配置文件的位置,里面包含一个叫做pip.ini的文件,我们可以通过修改这个文件来更改pip的默认下载源。
我们用文本编辑器打开这个文件,里面的内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
那么这个里面的index-url配置项对应的就是下载源的地址,我们可以将这个值修改成之前我们说过的几种下载源的地址,从而实现修改下载源的目的。
那么在有些时候,我们可能会想要设置多个下载源,那么这个时候,我们就只能使用修改配置文件 的方式来添加多个下载源:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
extra-index-url =
https://mirrors.aliyun.com/pypi/simple/
https://pypi.douban.com/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
https://pypi.org/simple
[install]
trusted-host =
pypi.tuna.tsinghua.edu.cn
mirrors.aliyun.com
pypi.douban.com
pypi.mirrors.ustc.edu.cn
pypi.org
在上面的代码中,index-url配置项指的是默认的下载源,当这个属性对应的下载源下载失败之后,他会继续尝试extra-index-url配置项对应的多个下载源。
下面配置的是对应每个下载源的主机地址。