Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named ‘_ssl‘问题
linux 6
问题:import ssl # if we can't import it, let the error propagate ImportError: No module named ssl

方法:

看这个
安装python3.11

以下作废


一、安装依赖库:
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++ 

二、安装新版本的openssl
1.openssl安装包官网下载地址:http://www.openssl.org/source/
2.wget http://www.openssl.org/source/openssl-1.1.1u.tar.gz
3.tar -zxvf openssl-1.1.1u.tar.gz
4.cd openssl-1.1.1u
5.   ./config --prefix=/usr/local/openssl shared zlib ## (prefix为配置安装目录,shared zlib 安装依赖库)这一步最重要,一定要shared
6. make && make install ##编译、安装
7.设置环境变量LD_LIBRARY_PATH
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >>  /etc/profile    ##在系统环境变量文件中添加openssl的环境变量
source /etc/profile                                    ##重新加载该路径下的系统环境变量文件

三.解压python3.7,并安装,一定要指定刚才安装的1.1.1版本的openssl!!!
tar -zxvf Python-3.7.0.tgz
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl      ##配置安装目录,指定openssl环境的安装目录
make && make install

1.创建python软连接
ln -s /usr/local/python3/bin/pip3  /usr/bin/pip    #pip命令行调用指向pip3
ln -s /usr/local/python3/bin/python3  /usr/bin/python      #python命令行调用指向python3,如果同时安装有其他版本python可通过该命令指定用到的python版本
ln -s /usr/local/python3/bin/python3  /usr/bin/python3        #python3命令行调用指向python3,由于某些程序执行时要求是python3命令调用,该步可根据需要进行设置
python --version                                         #查看当前python安装版 

2.检验下ssl模块能否被导入
python3  #进入python3命令行
import ssl  #导入ssl模块
import _ssl   #导入_ssl模块
exit()        #退出python3命令


Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named ‘_ssl‘问题
https://blog.883051.xyz/archives/centosan-zhuang-python3dao-ru-sslshi-jie-jue-modulenotfounderror-no-module-named-_ssl-wen-ti
作者
玉溪
发布于
更新于
许可