解决Python找不到ssl模块问题 No module named _ssl
原创
©著作权归作者所有:来自51CTO博客作者做api接口的猴子的原创作品,请联系作者获取转载授权,否则将追究法律责任
python安装完毕后,提示找不到ssl模块:
1 2 3 4 5 6 7 8 9 10 11 |
[www@pythontab.com ~]$ python
Python 2.7.15 (default, Oct 23 2018, 18:08:43)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2
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/python27/lib/python2.7/ssl.py" , line 60, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: No module named _ssl
>>>
|
解决方法:
1. 查看openssl安装包,发现缺少openssl-devel包
1 2 3 4 |
[www@pythontab.com ~]$ rpm -aq| grep openssl
openssl-0.9.8e-20.el5
openssl-0.9.8e-20.el5
[www@pythontab.com ~]$
|
2. yum安装openssl-devel
1 2 3 4 5 |
[www@pythontab.com ~]$ yum install openssl-devel -y
#查看安装结果
[www@pythontab.com ~]$ rpm -aq| grep openssl
openssl-devel-1.0.1e-57.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
|
3. 重新编译python
修改Setup文件
1 |
vi /src/Python-2 .7.15 /Modules/Setup
|
修改结果如下:
1 2 3 4 5 6 7 8 |
# 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. 重新编译
进入源码目录,重新编译安装
1 2 3 |
[www@pythontab.com ~]$ cd /src/Python-2 .7.15/
[www@pythontab.com ~]$ make
[www@pythontab.com ~]$ make install
|
5. 测试,已可正常使用。
1 2 3 4 5 6 |
[www@pythontab.com ~]$ python
Python 2.7.15 (default, Oct 23 2018, 19:08:43)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2
Type "help" , "copyright" , "credits" or "license" for more information.
>>> import ssl
>>>
|