Ошибка импорта модулей Python

у меня проблема с python на Ubuntu. Кажется, некоторые модули, входящие в стандартный пакет, не могут быть импортированы. Пример в python пытаюсь импортировать следующие строки:

from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import encoders

код генерирует ошибку ниже:

from email.MIMEMultipart import MIMEMultipart
ImportError: No module named MIMEMultipart

все пакеты были установлены правильно по умолчанию, так как я могу получить доступ к файлам через оболочку, но не непосредственно при выполнении файла:
python email.py

28
задан Yule Msee
10.12.2022 15:58 Количество просмотров материала 3165
Распечатать страницу

1 ответ

Я думаю, что вы неправильно определяете модули и афферентные субмодули. Вы должны на самом деле сделать:

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

я использовал help функция python, чтобы проверить, что модуль электронной почты содержит в разделе "содержимое пакета" и выводится, например, что MIMEmultipart класс mime:

help("email")
help("email.mime.multipart")

Edit:

простой способ найти, где именно находится объект в данном модуле только в Python2 (python3, похоже, не работает с этим) is:

getattr(__import__("<module_name>"), "<object_name>").__dict__["__name__"]

в вашем случае это что-то вроде:

getattr(__import__("email"), "MIMEMultipart").__dict__["__name__"]
getattr(__import__("email"), "MIMEText").__dict__["__name__"]
0
отвечен AnythingIsFine 2022-12-11 23:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх