在服务器写python爬虫,用了smtp模块,想定时写邮件提醒我,结果出现问题
问题:
python脚本发送邮件,但是python程序无反应,一直卡住
python安装完毕后,提示找不到ssl模块,无法使用smtplib.SMTP_SSL(“smtp.qq.com”, 465):
>>> 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
原因:
查看openssl安装包,发现缺少openssl-devel包,安装并查看结果
[root@localhost ~]# rpm -aq|grep openssl
openssl-0.9.8e-20.el5
openssl-0.9.8e-20.el5
#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
解决思路:
1,要进入到python源码包解压后的那个目录下的Modules/Setup,(只有在python完成安装后才会生成这个文件)
cd /root/Python-3.6.5/Modules
2,用vim编辑Setup文件,把下图横线部分部分的#给去掉,让SSL生效。
vi Setup
3,重新编译python。
cd /root/Python-3.6.5
$ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
$ sudo make
$ sudo make install
4,编译完之后查看结果
$ python3 #进入python3开发模式中
$ import ssl #不报错,结果成功
转载于:
https://www.cnblogs.com/mlgjb/p/7976561.html
http://www.cnblogs.com/yuechaotian/archive/2013/06/03/3115472.html