ImportError: No module named mime.multipart

后端 未结 5 1190
醉酒成梦
醉酒成梦 2021-02-05 13:44

Good morning,

For testing purposes, I have made a one-line Python program:

from email.mime.multipart import MIMEMultipart

When I run it

相关标签:
5条回答
  • 2021-02-05 13:55

    Module reorganization. The convention is for module names to be lower case, so some got renamed. In this case, the module you're looking for in Python 2.4.3 is email.MIMEMultipart.

    Here's the docs from back then, in case the API has changed.

    0 讨论(0)
  • 2021-02-05 13:58

    It should now be done like this:

    from email.mime.multipart import MIMEMultipart
    

    Same goes for other commonly used modules like MIMEText and MIMEBase (use .text and .base respectively).

    0 讨论(0)
  • 2021-02-05 14:12

    An easier way to debug the error is:

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

    from the above you can note that MIMEMultipart is readily available to be imported from email.

    0 讨论(0)
  • 2021-02-05 14:13

    Well, from the docs for Python 2.4, it seems you need:

    from email.MIMEMultipart import MIMEMultipart
    

    (Although you might want to use a newer version of Python, if possible).

    0 讨论(0)
  • 2021-02-05 14:17

    Call me dumb, but I was getting ImportError: No module named mime.text because my script was called email.py .... lol (blame on 4 am programming)

    0 讨论(0)
提交回复
热议问题