Python3中无法导入ssl模块的解决办法

python3 执行pip3 install requests ,提示找不到ssl模块:

解决方法:

复制自:http://www.cnblogs.com/yuechaotian/archive/2013/06/03/3115472.html

python安装完毕后,提示找不到ssl模块:
[root@localhost ~]# python2.7.5
Python 2.7.5 (default, Jun 3 2013, 11:08:43) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] 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
>>>

2. 查看openssl安装包,发现缺少openssl-devel包
[root@localhost ~]# rpm -aq|grep openssl
openssl-0.9.8e-20.el5
openssl-0.9.8e-20.el5
[root@localhost ~]#

3. yum安装openssl-devel
[root@localhost ~]# yum install openssl-devel -y
#查看安装结果
[root@localhost ~]# rpm -aq|grep openssl
openssl-0.9.8e-26.el5_9.1
openssl-0.9.8e-26.el5_9.1
openssl-devel-0.9.8e-26.el5_9.1
openssl-devel-0.9.8e-26.el5_9.1

4. 重新编译python
#修改Setup文件
vi /usr/software/Python-2.7.5/Modules/Setup
#修改结果如下:

# 通过输入:?ssl 快速查找到定位到以下内容(备注)


# 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         #去除该行注释(备注)


5. 重新编译(回到python安装包路径下)
make
make install

扫描二维码关注公众号,回复: 477175 查看本文章

6. 测试,已可正常使用。
[root@localhost ~]# python2.7.5
Python 2.7.5 (default, Jun 3 2013, 14:56:13) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>

参考:http://raw.zniper.net/bits/cannot-import-ssl-with-python-2.6

猜你喜欢

转载自blog.csdn.net/worldchinalee/article/details/79642926