ImportError: нет модуля с именем mime.multipart

Доброе утро,

В целях тестирования я сделал однострочную программу Python:

from email.mime.multipart import MIMEMultipart

Когда я запускаю его через интерпретатор, я получаю ужасное сообщение об ошибке:

from email.mime.multipart import MIMEMultipart ImportError: нет модуля с именем mime.multipart

Я использую Python версии 2.4.3. Я подозреваю, что модуль электронной почты изменил структуру упаковки в промежуточных версиях, следовательно, ошибка. Верно ли мое подозрение? Если нет, почему оператор импорта не работает?

Спасибо заранее,
КТМ

Ответ 2

Назовите меня немым, но я получил ImportError: No module named mime.text, потому что мой script был вызван email.py.... lol (обвинение в программировании на 4 часа)

Ответ 3

Хорошо, из docs для Python 2.4, кажется, вам нужно:

from email.MIMEMultipart import MIMEMultipart

(Хотя вы можете использовать более новую версию Python, если это возможно).

Ответ 4

Более простой способ для отладки ошибки:

>>> import email
>>> dir(email)
['Charset', 'Encoders', 'Errors', 'FeedParser', 'Generator', 'Header', 'Iterator
s', 'LazyImporter', 'MIMEAudio', 'MIMEBase', 'MIMEImage', 'MIMEMessage', 'MIMEMu
ltipart', 'MIMENonMultipart', 'MIMEText', 'Message', 'Parser', 'Utils', '_LOWERN
AMES', '_MIMENAMES', '__all__', '__builtins__', '__doc__', '__file__', '__name__
', '__package__', '__path__', '__version__', '_name', 'base64MIME', 'email', 'im
porter', 'message_from_file', 'message_from_string', 'mime', 'quopriMIME', 'sys'
]
>>>

из вышесказанного вы можете заметить, что MIMEMultipart легко доступен для импорта из электронной почты.

Ответ 5

Теперь нужно сделать следующее:

from email.mime.multipart import MIMEMultipart

То же самое касается других обычно используемых модулей, таких как MIMEText и MIMEBase (используйте .text и .base соответственно).

введите описание изображения здесь