Python代理模式下解决pip安装第三方包SSL报错问题

一、SSLError解决方法(3种)

1. 临时关闭代理、VPN 或者网络抓包等软件

最推荐的办法是临时关闭代理、VPN 或者网络抓包等软件,但是如果关闭后下载速度过慢可以尝试后面两种解决办法

2. 通过镜像的 HTTP 源来避免 SSL 认证问题

由于是 SSL 是 HTTPS 协议需要的,因此我们可以切换至 HTTP 的镜像站来进行安装下载

HTTPS 现在已经比较普及,有不少镜像源也早已经切换至 HTTPS 协议,但部分镜像源在支持 HTTPS 协议的而同时也还支持 HTTP 协议,下面简单罗列几个 pip 镜像源

# 清华,仅支持 HTTPS
https://pypi.tuna.tsinghua.edu.cn/simple/

# 阿里,HTTP 和 HTTPS 均支持
http://mirrors.aliyun.com/pypi/simple/
https://mirrors.aliyun.com/pypi/simple/

# 豆瓣,HTTP 和 HTTPS 均支持
http://pypi.doubanio.com/simple/
https://pypi.doubanio.com/simple/

3. 切换至低版本 pip

经过测试,当 pip 版本高于 20.3 后才会出现此错误,因此我们可以手动将 pip 版本降级至 20.2.4 或者 20.3b1 等较低版本即可

python -m pip install pip==20.2.4 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
python -m pip install pip==20.2.4 -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

二、SSLError解决方法(比较推荐,本人使用的一种)

采用支持http协议的镜像源:

# 阿里,HTTP 和 HTTPS 均支持
http://mirrors.aliyun.com/pypi/simple/
# 豆瓣,HTTP 和 HTTPS 均支持
http://pypi.doubanio.com/simple/

C盘–用户–登陆账户下—新建pip文件夹(如果已有不新建)

路径 C:\Users\17616\AppData\Roaming\pip
或者
路径 C:\Users\17616\pip

在pip文件下,新建一个文本文档,修改为:pip.ini

用记事本打开pip.ini输入如下配置:

[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
disable-pip-version-check = true
timeout = 120

[list]
format = columns

note:

index-url 这里设置的为豆瓣源
trusted-host 意思是信任这个地址(这就免去了ssl验证)
disable-pip-version-check = true 设置不检查版本

format = columns 这里是设置使用pip list命令时输出的样式

保存成功后,在终端输入pip config list,效果如下图,说明已生效

此时,即使开着代理软件也是可以正常pip安装第三方库。

三、编码报错(跟本文主体无关,偷懒一起记录的其他问题)

解决类似问题:UnicodeDecodeError:'gbk’code can’t decode byte 0x80 in position 128:illegal multibyte sequence

直接根据提示找错误即可;

作者:南栀北辰SDN

物联沃分享整理
物联沃-IOTWORD物联网 » Python代理模式下解决pip安装第三方包SSL报错问题

发表回复