记一次Python3.7的SSL_verify failed报错解决过程

问题描述

报错信息: ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)

python版本:3.7.3

处理过程

  1. 排查 virtual env环境依赖的python版本不对-- 然而并不是
  2. 排查 openssl版本不正确或者未安装
brew install openssl
echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

还是未解决
3. 查看相关问题帖子,无非就一下2种方案

# 方案一 然而我是用homebrew安装的python 并没有Install\ Certificates.command文件
/Applications/Python\ 3.7/Install\ Certificates.command
#方案二  取消ssl验证   此方案直接不考虑,与掩耳盗铃无异
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
  1. 我开始怀疑python本身的bug了,安装最新的python
brew install python3
# 别忘了重新创建或者更改你的 virtual env 的 python版本
mkvirtualenv xxx_env
workon xxx_env

完美!!! 问题得到解决, 新的python版本是3.7.7

总结

  1. 有时候找不到问题原因的时候,怀疑一切可能,然后一一排查吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值