Modul impor Python kesalahan

0

Saya memiliki masalah dengan python di Ubuntu. Tampaknya beberapa modul yang merupakan bagian dari paket standar tidak dapat diimpor. Contoh dalam python sedang mencoba mengimpor baris berikut:

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

Kode menghasilkan kesalahan di bawah ini:

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

Semua paket telah diinstal dengan benar secara default karena saya dapat mengakses file melalui shell tetapi tidak secara langsung ketika menjalankan file:     python email.py

Yule Msee
sumber
Versi Python mana yang Anda gunakan? Apa PYTHONPATH Anda? Apakah modul MIMEMultipart ada di PYTHONPATH?
mtak
Galeri kacang, tetapi jika Anda memanggil program Anda "email.py", ganti namanya. Script yang diberi nama sama dengan modul yang diberikan berantakan dengan import.
Anaksunaman

Jawaban:

0

Saya pikir Anda tidak menentukan modul dan sub-modul aferen dengan benar. Anda harus benar-benar melakukannya:

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

Saya menggunakan help fungsi python untuk memeriksa isi modul email di bawah "ISI PAKET" dan disimpulkan misalnya MIMEmultipart adalah kelas mime:

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

Edit:

Cara mudah untuk menemukan di mana tepatnya sebuah objek terletak pada modul yang diberikan HANYA di Python2 (python3 tampaknya tidak bekerja dengan ini) adalah:

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

Dalam kasus Anda, itu seperti:

getattr(__import__("email"), "MIMEMultipart").__dict__["__name__"]
getattr(__import__("email"), "MIMEText").__dict__["__name__"]
AnythingIsFine
sumber