2016-11-12 3 views
1

У меня есть сценарий, как следоватьпитон не удалось импортировать smtplib

#!/usr/bin/python 
import smtplib 
import datetime 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 

now = '{:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now()) 

fromaddr = "[email protected]" 
toaddr = "[email protected]" 
msg = MIMEMultipart() 
msg['From'] = fromaddr 
msg['To'] = toaddr 
msg['Subject'] = "Device Start Up Notification" 

body = "Your device is started up %s " % now 
msg.attach(MIMEText(body, 'plain')) 

server = smtplib.SMTP('smtp.gmail.com', 587) 
server.starttls() 
server.login(fromaddr, "abc12345") 
text = msg.as_string() 
server.sendmail(fromaddr, toaddr, text) 
server.quit() 

Когда я выполнить этот файл, он показывает ошибку

Traceback (most recent call last): 
    File "./email.py", line 2, in <module> 
    import smtplib 
    File "/usr/lib/python2.7/smtplib.py", line 46, in <module> 
    import email.utils 
    File "/home/jypang/email.py", line 4, in <module> 
    from email.MIMEMultipart import MIMEMultipart 
ImportError: No module named MIMEMultipart 

Библиотека установлена, потому что у меня есть еще один скрипт, который такой же, как сценарий выше (импортирование той же библиотеки), и он работает хорошо.

Пожалуйста, помогите, спасибо!

ответ

4

Вы назвали свой модуль email, который конфликтует со стандартным библиотечным модулем email; stmplib модуль зависит от стандартного библиотечного модуля email.

Вам необходимо переименовать email с другим именем. Если есть email.pyc, обязательно удалите его.

+1

Спасибо falsetru, урок узнал! Необходимо удалить email.pyc тоже –

Смежные вопросы