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 源碼的方式(Modules/Setup.dist)是不奏效的。 升級 openssl1.1.x之後的版本是有效的。

解決步驟如下:

一、下載 openssl 編譯安裝

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

我當時安裝的版本是: openssl-1.1.1c


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

二、配置 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

三、安裝 python3.7

cd /usr/local/python3.7/
./configure --prefix=/usr/local/python3.7 --with-openssl=/usr/local/openssl-1.1.1c
make && make install
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章