问题:
当我在python3虚拟环境中导入ssl模块时报错,报错如下:
(py3) [root@localhost Python-3.6.3]# python3
Python 3.6.3 (default, Nov 19 2018, 14:18:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python3/lib/python3.6/ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
解决:
1.前提是已经安装了openssl
如果没按装,需要yum安装
安装依赖:yum install openssl-devel
2.首先进入Python-3.6.3目录,就是你解压后安装python3.6的目录文件。
3.cd 到 Modules 目录里,找到Setup和Setup.dist文件,将下面几行注释去掉。
- Setup下更改
- vim Setup (大概在51%的位置)
- Setup.dist下的更改
- vim Setup.dist (大概在50%的位置)

4.编译安装cd .. ./configure --prefix=/usr/local/python3 make && make install5.删除旧的软连接,创建新的软连接(很重要)
rm -rf /usr/bin/python3 ln -s /usr/local/bin/python3.6 /usr/bin/python3