Python 错误集锦
环境信息
- Python 3.10.12
certificate verify failed: unable to get local issuer certificate
报错信息如下:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007) |
问题原因 : 本地 CA 证书不存在
解决方法
- 查看默认证书位置 根据输出内容,可以看到 Python 使用的
>> import ssl
>> print(ssl.get_default_verify_paths())
DefaultVerifyPaths(cafile=None, capath='/usr/local/openssl/ssl/certs', openssl_cafile_env='SSL_CERT_FILE', openssl_cafile='/usr/local/openssl/ssl/cert.pem', openssl_capath_env='SSL_CERT_DIR', openssl_capath='/usr/local/openssl/ssl/certs')openssl
位于/usr/local/openssl/
,CA 证书路径为/usr/local/openssl/ssl/cert.pem
,检查 CA 证书路径,发现 CA 证书不存在cd /usr/local/openssl/ssl/
ls
certs ct_log_list.cnf ct_log_list.cnf.dist misc openssl.cnf openssl.cnf.dist private - 下载 CA 证书文件 下载 CA 证书文件后,重新尝试,SSl 连接正常。
wget http://curl.haxx.se/ca/cacert.pem --no-check-certificate
mv cacert.pem cert.pem
can’t start new thread
环境信息
- Docker 1.13
- Python3.9
在 Docker 中运行 python
后,使用 pip
报错 RuntimeError: can't start new thread
pip install --upgrade pip |
问题原因 Docker 版本太低,升级版本到 18.06 以上。参考说明