Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to import Python's email module at all

Tags:

python

email

I can't seem to import the email module at all. Every time I do it I get an error. I've tried uninstalling Python and reinstalling, but the email module just refuses to work. I've even done "pip install email" and it's still broken. I'm on Windows 7 Home Premium x64, running an x86 version of Python.

Here's what happens:

c:\Users\Nicholas\Desktop>python ActivePython 2.7.2.5 (ActiveState Software Inc.) based on Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> import email Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "email.py", line 1, in <module>     import smtplib   File "C:\Python27\lib\smtplib.py", line 46, in <module>     import email.utils ImportError: No module named utils >>> 

EDIT: I've tried both Python from python.org and ActivePython, thinking ActivePython might work. Is there anyway to completely remove python and all its data and start 100% fresh maybe?

like image 738
Nicholas Avatar asked Jul 28 '11 15:07

Nicholas


People also ask

Why can't I import modules in Python?

This is caused by the fact that the version of Python you're running your script with is not configured to search for modules where you've installed them. This happens when you use the wrong installation of pip to install packages.


2 Answers

It looks like you have a file named email.py. Don't use file names that have the same name as Python standard library modules. Generally, your working directory comes earlier on the Python search path for importing modules so files in your working directory will override modules with the same name in the standard library.

The clue: note the path names in the traceback

  File "email.py", line 1, in <module>     import smtplib   File "C:\Python27\lib\smtplib.py", line 46, in <module>     import email.utils 

By the way, this is a very common error. The excellent tutorial in the Python standard documentation set talks about it here.

like image 186
Ned Deily Avatar answered Sep 28 '22 07:09

Ned Deily


I just came across this error and wanted to share my solution. In my case, I had a file named email.py in directory. This created a name conflict between Python's email.py and my file. When smtplib tried to import email.utils it looked and my file and didn't find anything. After I renamed my copy of email.py into myemail.py everything worked like a charm.

like image 37
Vladimir Bychkovsky Avatar answered Sep 28 '22 07:09

Vladimir Bychkovsky