ImportError: No module named mime.multipart

刘超 1年前 ⋅ 1580 阅读   编辑

一、描述

  使用from email.mime.multipart import MIMEMultipart发送邮件,报如下错误

sdev@n-adx-hadoop-client-3:~/liujichao/py_lib$ python email.py 
Traceback (most recent call last):
  File "email.py", line 4, in 
    import smtplib
  File "/usr/lib/python2.7/smtplib.py", line 46, in 
    import email.utils
  File "/home/sdev/liujichao/py_lib/email.py", line 5, in 
    from email.mime.multipart import MIMEMultipart
ImportError: No module named mime.multipart

二、分析

  1、执行sudo pip install mime进行安装,还是不行

  2、python文件别用email命名,查看是否有email命名的python文件,有的话删掉,如下

sdev@n-adx-hadoop-client-3:~/liujichao/py_lib$ ll
total 96
drwxrwxr-x  2 sdev sdev  4096 Mar 16 11:08 ./
drwxrwxr-x 22 sdev sdev 20480 Mar 16 10:19 ../
-rw-rw-r--  1 sdev sdev  4156 Mar 16 09:57 db.py
-rw-rw-r--  1 sdev sdev  3221 Dec 30 06:08 db.py.bak
-rw-rw-r--  1 sdev sdev  4727 Mar 16 09:57 db.pyc
-rw-rw-r--  1 sdev sdev  3770 Mar 16 10:55 email.pyc
-rw-rw-r--  1 sdev sdev  3681 Mar 16 11:08 email_util.py
-rw-rw-r--  1 sdev sdev     0 Dec 30 06:08 __init__.py
-rw-rw-r--  1 sdev sdev   126 Dec 30 06:09 __init__.pyc
-rw-rw-r--  1 sdev sdev  2264 Dec 30 06:08 nsq_tool.py
-rw-rw-r--  1 sdev sdev  2411 Dec 30 06:08 nsq_tool.pyc
-rw-rw-r--  1 sdev sdev  9467 Dec 30 06:08 redis_tool.py
-rw-rw-r--  1 sdev sdev   548 Dec 30 06:08 redis_tool.py.bak
-rw-rw-r--  1 sdev sdev   558 Dec 30 06:08 redis_tool.py.bak.bak
-rw-rw-r--  1 sdev sdev  7989 Dec 30 06:09 redis_tool.pyc
-rw-rw-r--  1 sdev sdev  3807 Dec 30 06:08 test_db.pyc
sdev@n-adx-hadoop-client-3:~/liujichao/py_lib$ 
sdev@n-adx-hadoop-client-3:~/liujichao/py_lib$ rm -rf email.pyc 

  再次执行成功

三、解决方法

  安装mime,查看是否有email命名的文件

四、参考文章

  1、https://stackoverflow.com/questions/5821755/importerror-no-module-named-mime-multipart

  2、https://stackoverflow.com/questions/6861818/unable-to-import-pythons-email-module-at-all/6862236


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: