python中pip下载慢或报错的解决方法

发布时间 2023-11-28 11:31:28作者: 秒秒开心

一:问题

python的pip在安装包时,有时会报错超时,排除包名写错的原因,一般这种问题是因为网络下载过慢,导致超时

 

二:解决方案

我们可以设置pip镜像源下载,能够提升pip下载速度,解决报错问题
具体操作是把全局的镜像地址设置成阿里云服务:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

然后查看当前全局设置成功即可:

pip config list

另外如果想要恢复默认源,可以去直接在C:\\Users\\xxx\\AppData\\Roaming\\pip路径删除配置文件pip.ini,即可复原默认源

 

三:解释说明

1、采用https访问镜像源的好处

网上关于镜像地址写法经常能看到2种

pip install requests -i https://mirrors.aliyun.com/pypi/simple/
pip install requests -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

上面一个是采用HTTPS协议来访问阿里云的镜像源,通信是加密的更安全,且不需要使用 trusted-host参数,因为HTTPS通常是受信任的,无需额外验证
下面一个是采用HTTP协议来访问阿里云的镜像源,通信是未加密的,相对不太安全,另外采用http时,pip默认不信任主机,所以需要加上 trusted-host参数来告诉pip信任指定的主机是mirrors.aliyun.com
两种方法更推荐第一种,使用https来访问镜像源,更安全,更简洁,更符合常规的安全实践

 

2、配置全局阿里镜像源的好处

我们经常看到有命令是这样敲得:

pip install requests -i https://mirrors.aliyun.com/pypi/simple/
pip install requests -i https://pypi.douban.com/simple/
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests -i https://pypi.mirrors.ustc.edu.cn/simple/

这里是在具体下载某个包时跟上镜像地址,有阿里云镜像、豆瓣镜像、清华镜像、中国科技大学镜像
这样也可以解决pip下载慢或报错的问题,但是这样很麻烦,我们每次安装包都要跟上很长的一串网址
没有上面设置全局镜像来的方便,设置全局镜像后,以后直接pip install 包就能直接从镜像地址下载,无需在跟上一串镜像地址了
并且全局镜像配置建议配置成阿里的,国内国外的地址都可以访问到。如果配置其他的全局镜像地址是国内的,可能会出现国外的地址访问不了的情况。

 

3、为什么开了抓包工具,pip install下载包就报错的解决方案
因为pip install 安装包的镜像,你设置的是https的镜像地址,而抓包工具如果没有忽略证书,则对https的镜像地址会做拦截,就导致无法下载成功包而报错,解决方法是关闭抓包工具或者给抓包工具配置忽略ssl证书即可