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)"
本链接如果解决不了,可以参考下面两个博主的答案
python3.8 安装缺少ssl、_ctypes模块解决办法_python3 arm板上提示ctypes需要额外安装-CSDN博客