python3.7 ImportError: No module named _ssl 解决方法

笔者在 centos6.5 安装 python3.7 碰到此问题,安装好之后,执行 python3.7 命令行,import ssl 出现错误 ImportError: No module named _ssl 。 该错误表如今 pip install 时会报 pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.python

在网上找了不少资料,通过验证,在编译前修改 python 源码的方式(Modules/Setup.dist)是不奏效的。 升级 openssl1.1.x以后的版本是有效的。 vim

解决步骤以下:

1、下载 openssl 编译安装

openssl 官方下载地址:https://www.openssl.org/source/centos

我当时安装的版本是: openssl-1.1.1cbash

tar xf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c
./config --prefix=/usr/local/openssl-1.1.1c
make
make install

2、配置 openssl 共享库

'''新建文件'''
vim /etc/ld.so.conf.d/openssl.conf

'''填入以下内容'''
/usr/local/openssl-1.1.1c/lib/

'''保存'''

'''更新共享库'''
ldconfig

'''检验 openssl-1.1.1 是否已加入共享库'''
ldconfig -v | grep ssl

/usr/local/openssl-1.1.1c/lib:
    libssl.so.1.1 -> libssl.so.1.1    '''有这个表示加成功了'''
    libssl3.so -> libssl3.so
    libssl.so.10 -> libssl.so.1.0.1e

3、安装 python3.7

cd /usr/local/python3.7/
./configure --prefix=/usr/local/python3.7 --with-openssl=/usr/local/openssl-1.1.1c
make && make install
相关文章
相关标签/搜索