Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

matplotlib not working anymore due to interactive issue

I was working with python and matplotlib but my script crashed so I had to turn off the terminal (Ubuntu 12.04, matplotib-1.1.0, python2.7). Now if I try to run any script it crashes on the line

import matplotlib.pyplot as plt

with the following error

Traceback (most recent call last):
  File "new.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/__init__.py", line 151, in <module>
    from matplotlib.rcsetup import (defaultParams,
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/rcsetup.py", line 20, in <module>
    from matplotlib.colors import is_color_like
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/colors.py", line 54, in <module>
    import matplotlib.cbook as cbook
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/cbook.py", line 32, in <module>
    import new
  File "/home/federico/Documents/doc_uni/idraulica_ambientale/relazione/scripts/variabili/new.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/pyplot.py", line 23, in <module>
    from matplotlib import _pylab_helpers, interactive
ImportError: cannot import name interactive

Notice the last line. I tried removing and reinstalling matplotlib both from source and from pip and easy_install but I can't get away with it. Same error happens if I try to import from within the python interpreter. I also installed version 1.2.0 to see if that work but it does not.

like image 925
fmonegaglia Avatar asked Jan 02 '13 22:01

fmonegaglia


People also ask

Why is matplotlib Pyplot not working?

The ImportError: No module named matplotlib. pyplot occurs if you have not installed the Matplotlib library in Python and trying to run the script which has matplotlib related code. Another issue might be that you are not importing the matplotlib. pyplot properly in your Python code.

What is interactive mode matplotlib?

Matplotlib can be used in an interactive or non-interactive modes. In the interactive mode, the graph display gets updated after each statement. In the non-interactive mode, the graph does not get displayed until explicitly asked to do so.

Does Python 3.7 support matplotlib?

Matplotlib is a python library that allows you to represent your data visually. It's particularly useful for data science and machine learning developers. Matplotlib is the most visualization package for Python.


1 Answers

If you read through files in the stack trace,

new.py-> /matplotlib/__init__.py -> matplotlib/rcsetup.py, /matplotlib/colors.py -> /matplotlib/cbook.py --> /home/federico/Documents/../new.py -> matplotlib/pyplot.py

You have named your module new which is shadowing with an import in matplolib.cbook, which is causing you to try to imort pyplot while you are importing pyplot which aparently blows up (exactly why is above my paygrade). You just need to re-name your module to something other than new.py (and remember to remove the new.pyc file that got created).

As a test run import matplotlib.pyplot as plt in an interactive shell.

FYI this is what you are shadowing.

This import will be removed in mpl 1.3

like image 118
tacaswell Avatar answered Nov 14 '22 21:11

tacaswell