Linux环境运行Python提示No_module_named '_ssl'; ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compiled
python 版本 3.9.6
我是在使用fastApi调用request模块时出现的这个问题,
运行程序时报错
ModuleNotFoundError: No module named '_ssl'
错误原因
centos7-2009默认openssl版本为1.0.2k,python从3.7.0开始,要求openssl的版本最低要为1.0.2或1.1.0,或者使用libressl来代替openssl
解决一 降低urllib3的版本
错误信息 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compiled
// 1. 卸载
pip uninstall urllib3
// 2. 指定版本重新安装
pip install urllib3==1.26.15
解决二 升级openssl
下载openssl

我选择的是1.1.n的版本
安装
tar -zxvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n
./config --prefix=/usr/local/openssl
make && make install
修改软链接
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
修改相关文件
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
# 设置生效
ldconfig -v
确认版本
openssl version
重新编译安装python3 看这篇帖子
进入 python3 控制台,引入ssl 没有报错
[root@root]# python3.9
Python 3.9.6 (default, May 13 2025, 18:00:48)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
一代天骄,成吉思汗,只识弯弓射大雕。
俱往矣,数风流人物,还看今朝

浙公网安备 33010602011771号