ImportError: No hay módulo llamado mime.multipart

Buenos días,

Para propósitos de prueba, he hecho un progtwig de Python de una línea:

from email.mime.multipart import MIMEMultipart 

Cuando lo ejecuto a través del interpeter, recibo un mensaje de error horrible:

from email.mime.multipart import MIMEMultipart ImportError: no hay un módulo llamado mime.multipart

Estoy usando la versión 2.4.3 de Python. Sospecho que el módulo de correo electrónico ha cambiado su estructura de empaquetado en las versiones intermedias, de ahí el error. ¿Es mi sospecha correcta? Si no, ¿por qué no funciona la statement de importación?

Gracias por adelantado,
ktm

Reorganización del módulo. La convención es que los nombres de los módulos sean minúsculos, por lo que algunos se renombraron En este caso, el módulo que está buscando en Python 2.4.3 es email.MIMEMultipart .

Aquí está la documentación de entonces, en caso de que la API haya cambiado.

Llámame tonto, pero estaba recibiendo ImportError: No module named mime.text porque mi script se llamaba email.py …. lol (culpa de la progtwigción a las 4 am)

Ahora debería hacerse así:

 from email.mime.multipart import MIMEMultipart 

Lo mismo ocurre con otros módulos de uso común como MIMEText y MIMEBase (use .text y .base respectivamente).

introduzca la descripción de la imagen aquí

Bueno, de los documentos de Python 2.4 , parece que necesitas:

 from email.MIMEMultipart import MIMEMultipart 

(Aunque es posible que desee utilizar una versión más reciente de Python, si es posible).

Una forma más fácil de depurar el error es:

 >>> 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' ] >>> 

de lo anterior, puede observar que MIMEMultipart está disponible para ser importado desde un correo electrónico.