Python3.8SSL模块报错No module named '_ssl'解决办法
报错详情:
Ubuntu安装Python3.8.2之后 import ssl 报错 没有 _ssl模块,但是原来的Python3.6.9却没有报错。 网上很多方法是直接安装依赖库,但是都行不通。后来折腾了一番重要解决了,所以记录一下解决办法。
解决办法:
1.安装依赖库(已安装可以忽略)
sudo apt install zlib-devel bzip2-devel openssl-devel libssl-dev ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2. 下载、解压Python3.8.2
步骤略
3. 载在解压的文件中找到 Python-3.8.2/Modules/Setup 文件
vim Setup
找到
把 其中5行注释去掉,如下:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
保存退出:
4.把原来的Python3.8的安装文件删掉,并重新新建
rm -rf /usr/local/python3.8/
mkdir /usr/local/python3.8/
** 这里的/usr/local/python3.8/是我的安装目录,具体看你们的安装目录,下同
5.重新编译安装Python3.8
回到 安装包的目录
./configure --prefix=/usr/local/python3.8/
make
make install