【日常踩坑】解决 pip 安装第三方包时因 SSL 报错 |
您所在的位置:网站首页 › ccs33安装出错 › 【日常踩坑】解决 pip 安装第三方包时因 SSL 报错 |
文章目录
踩坑什么是 SSL ?为什么会报错解决办法1. 临时关闭代理、VPN 或者网络抓包等软件2. 通过镜像的 HTTP 源来避免 SSL 认证问题3. 切换至低版本 `pip`
参考资料
踩坑
好久没用 python,最近重新下载安装好 python 后发现用 pip 安装第三方包一直失败。经过一番折腾发现,如果报错信息符合下面两种,一般都是因为网络连接时 SSL 认证失败导致的 check_hostname requires server_hostname raise ValueError("check_hostname requires server_hostname") ValueError: check_hostname requires server_hostname EOF occurred in violation of protocol Could not fetch URL https://pypi.org/simple/xxx/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/xxx/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)'))) - skipping 什么是 SSL ?传输层安全性协议(英语:Transport Layer Security,TLS)及其前身安全套接层(英语:Secure Sockets Layer,SSL)是现在的 HTTPS 协议中的一种安全协议,目的是为互联网通信提供安全及数据完整性保障 而较新版本的 python 内置的 pip 以及用于网络请求的 requests、urllib3 包也较新,并且会使用 HTTPS 协议来下载新的软件包 为什么会报错根据报错信息可以发现错误的根源就在于 SSL,也就是没有通过该安全协议的认证,通常是由于开启了网络代理、VPN 或者网络抓包等软件的导致的 解决办法 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/安装时第三方包时可以参考如下命令: pip install xxx-package -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com pip install xxx-package -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com如果想永久使用镜像站,则需要修改配置文件,以 Linux 为例: vim ~/.pip/pip.conf修改文件内容如下 [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host = mirrors.aliyun.com 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 参考资料 【阿里云】PyPI 镜像【CSDN】python pip 的安装、更新、卸载、降级、和使用 pip 管理包【CSDN】修改 pip 配置文件路径、更改 pip 源、使用 pip 安装已经下载的 whl 文件本文作者: ywang_wnlo 本文链接: https://ywang-wnlo.github.io/posts/2e7aa01a.html 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |