ImportError: нет модуля с именем mime.multipart - PullRequest
13 голосов
/ 28 апреля 2011

Доброе утро,

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

from email.mime.multipart import MIMEMultipart

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

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

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

Заранее спасибо,
тыс. Тонн

Ответы [ 5 ]

18 голосов
/ 28 апреля 2011

Реорганизация модуля. Соглашение заключается в том, что имена модулей должны быть в нижнем регистре, поэтому некоторые из них были переименованы.В этом случае модуль, который вы ищете в Python 2.4.3 - это email.MIMEMultipart.

Вот документы на тот момент, в случае изменения API.

16 голосов
/ 07 сентября 2016

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

9 голосов
/ 29 апреля 2017

Теперь это должно быть сделано так:

from email.mime.multipart import MIMEMultipart

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

enter image description here

5 голосов
/ 28 апреля 2011

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

from email.MIMEMultipart import MIMEMultipart

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

4 голосов
/ 28 апреля 2011

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

>>> 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 легко доступен для импорта из электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...