Linux环境运行python项目提示No module named '_ssl'

版本

python3.11.4

控制台错误提醒

File "/usr/local/python3/lib/python3.11/ssl.py", line 100, in <module>
	import _ssl  # if we can't import it, let the error propagate
	^^^^^^^^^^^
ModuleNotFoundError: No module named '_ssl'

错误原因:

centos7-2009默认openssl版本为1.0.2k,python从3.7.0开始,要求openssl的版本最低要为1.0.2或1.1.0,或者使用libressl来代替openssl

解决:

升级openssl

下载openssl

https://www.openssl.org/source/old/1.1.1/index.html
image

我这里选择的是1.1.1n版本

安装

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,进入python3控制台 import ssl 没有报错就成功了

[root@master Python-3.11.4]# python3
Python 3.11.4 (main, Mar 20 2024, 15:45:35) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>

posted on 2024-03-20 15:54  luyifo  阅读(2365)  评论(0)    收藏  举报

导航