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 以上。参考说明
Exception: Can not find valid pkg-config name
使用 pip install
命令时报错:
Exception: Can not find valid pkg-config name. |
在使用 pip install
安装某些依赖 MySQL 的 Python 包(例如 mysqlclient
)时,可能会遇到类似 Exception: Can not find valid pkg-config name.
的错误。这通常是因为你的系统缺少必要的开发工具或库文件。
以下是解决这个问题的步骤
- 安装 MySQL 开发库
- 在 Ubuntu/Debian 系统中,确保安装了
libmysqlclient-dev
包sudo apt-get install libmysqlclient-dev
- 在 CentOS/RHEL 系统中,安装
mysql-devel
包sudo yum install mysql-devel
- 在 Ubuntu/Debian 系统中,确保安装了
ERROR: Could not find a version that satisfies the requirement mysqlclient==2.2.1
环境信息
- Ubuntu 22.04.4 LTS (Jammy Jellyfish)
- Python 3.10
安装 mysqlclient==2.2.1
时报错:
Collecting mysqlclient==2.2.1 |
这个错误表明在尝试安装 mysqlclient==2.2.1
时,Python 包管理工具 pip 发现了元数据的不一致性,即文件名是 mysqlclient
,但元数据标识的包名为 unknown
。这可能是由于该版本的包在 PyPI 上发布时存在问题。
要解决这个问题,可以尝试使用不同的 mysqlclient
版本。例如不指定具体版本,默认安装最新的稳定版本,可以成功安装。
There was a problem confirming the ssl certificate
环境信息
- Python 2.7
- Centos 7 6.8.9-1
pip install shadowsocks |
解决方法 1 :
pip install shadowsocks --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org |