Python Error: “ImportError: No module named six”

2019-01-27 16:56发布

问题:

I am running Python 2.7 on a Windows 7 OS

Here is what I run:

>>> import matplotlib.pyplot as plt

Then I get this:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import matplotlib.pyplot as plt
  File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>
    from matplotlib.figure import Figure, figaspect
  File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 36, in <module>
    from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
  File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 20, in <module>
    import matplotlib.dates as _  # <-registers a date unit converter
  File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 119, in <module>
    from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
  File "C:\Python27\lib\site-packages\dateutil\rrule.py", line 18, in <module>
    from six import advance_iterator, integer_types
ImportError: No module named six

Now, I have downloaded six from here : https://pypi.python.org/pypi/six

I unzipped it and if I open up a file from there called setup.py and then I try to import matplotlib then it works, but I don;t have to do this every time I want to make a plot do I? Isn't there a way to get this to work automatically?

回答1:

You need to install it on your system. This basically means putting the zip file where Python can find it, but by far the easiest way is pip install six. This will download it a second time, though.

Like the matplotlib installation instructions mention, six is a dependency of the dateutil package. Most sane installation methods would pull in this dependency automatically; if you had done pip install python-dateutil in the first place, this missing dependency should have been satisfied behind the scenes. If you require a completely manual installation, you should give those instructions a thorough read.



回答2:

I got exactly the same error message. And it seams there are many many possible causes. In my case, I solved the issue by reinstalling six

pip uninstall six ; pip install six

I guess the previous installation was aborted before a complete termination. Or maybe a permission issue. Or something else ... now it's too late to investigate what was the real cause.



回答3:

for me i had two versions of matplotlib installed. Just run "pip uninstall matplotlib", and again run "pip install matplotlib". For me multiple doenloads messed up everything. First try this, and if it does not help move to the next steps.



回答4:

At the command line, navigate to the folder that contains the setup.py and run

python setup.py install

This will install the six package in your Python site-packages folder where all 3rd-party modules live. You should now be able to import matplotlib without any problems.



回答5:

Copy six.py and six.pyc to \Lib.



回答6:

I might be late to this, but I was having the same problem. After I pip installed Pandas though, the problem went away. After the cleanup, I got this message

"Successfully installed pandas pytz six"



回答7:

After fighting long found the way it works. Python 3.4 version.

Actually as many say you can download the six package as .zip file and extract the content in the "site packages" folder (C:\Python34\Lib\site-packages) so that the init.py file that includes "six" module is belong read from there.

After this from the same file of init.py when we run the python script we run 4-5 module errors stating the module is not available. I found this page extremely useful after long search and just follow on with the errors IDLE states.

Good luck!"