Bootstrap

ModuleNotFoundError: No module named ‘_ssl‘ centos中的Python报错

1、检查系统有没有openssl,有的话,就是python安装时没有指定openssl

openssl version,有输出版本号就有,没有的话,需要手动安装

下载地址
参见https://www.openssl.org/,包括以下版本:
https://www.openssl.org/source/openssl-3.1.0-alpha1.tar.gz
https://www.openssl.org/source/openssl-1.1.1s.tar.gz
https://www.openssl.org/source/openssl-3.0.7.tar.gz

编译安装
注:编译之前请先确保系统中安装了make以及gcc的软件包。,编译安装前确认/usr/include/openssl/为空

tar -zxf openssl-1.1.1s.tar.gz
cd openssl-1.1.1s/
./config -fPIC --prefix=/usr/include/openssl enable-shared
make
make install

l -fPIC: 位置无关代码
l --prefix=: 路径 一般选 /usr/include/openssl
l enbale-shared: 动态库


2、重新安装python,并指定openssl

(1)进入解压后的 Python 3 目录,并执行以下命令:
    ./configure --enable-optimizations --with-openssl=/usr/include/openssl
    make
    sudo make install
请将 /usr/include/openssl 替换为您安装 OpenSSL 的实际路径。
这将重新编译并安装 Python 3,确保它正确地链接了 OpenSSL 库。

(2)检查 SSL 模块是否可用:
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"

本链接如果解决不了,可以参考下面两个博主的答案

ModuleNotFoundError: No module named ‘_ssl‘ centos7中的Python报错_modulenotfounderror: no module named 'gmssl-CSDN博客


python3.8 安装缺少ssl、_ctypes模块解决办法_python3 arm板上提示ctypes需要额外安装-CSDN博客

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;