Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
296 views
in Technique[技术] by (71.8m points)

python - Matplotlib AttributeError: module 'matplotlib.cbook' has no attribute '_define_aliases'

When trying to plot a graph on jupyter with pyplot I am running the following code:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

This is returning the following error:

AttributeError                            Traceback (most recent call last)
<ipython-input-16-51b004b519a9> in <module>()
----> 1 get_ipython().run_line_magic('matplotlib', 'inline')
      2 
      3 
      4 import matplotlib.pyplot as plt
      5 plt.plot([1,2,3,4])

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesIPythoncoreinteractiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
   2129                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
   2130             with self.builtin_trap:
-> 2131                 result = fn(*args,**kwargs)
   2132             return result
   2133 

<decorator-gen-108> in matplotlib(self, line)

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesIPythoncoremagic.py in <lambda>(f, *a, **k)
    185     # but it's overkill for just that one bit of state.
    186     def magic_deco(arg):
--> 187         call = lambda f, *a, **k: f(*a, **k)
    188 
    189         if callable(arg):

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesIPythoncoremagicspylab.py in matplotlib(self, line)
     97             print("Available matplotlib backends: %s" % backends_list)
     98         else:
---> 99             gui, backend = self.shell.enable_matplotlib(args.gui)
    100             self._show_matplotlib_backend(args.gui, backend)
    101 

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesIPythoncoreinteractiveshell.py in enable_matplotlib(self, gui)
   3049                 gui, backend = pt.find_gui_and_backend(self.pylab_gui_select)
   3050 
-> 3051         pt.activate_matplotlib(backend)
   3052         pt.configure_inline_support(self, backend)
   3053 

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesIPythoncorepylabtools.py in activate_matplotlib(backend)
    308     matplotlib.rcParams['backend'] = backend
    309 
--> 310     import matplotlib.pyplot
    311     matplotlib.pyplot.switch_backend(backend)
    312 

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesmatplotlibpyplot.py in <module>()
     30 from cycler import cycler
     31 import matplotlib
---> 32 import matplotlib.colorbar
     33 import matplotlib.image
     34 from matplotlib import rcsetup, style

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesmatplotlibcolorbar.py in <module>()
     28 import matplotlib.artist as martist
     29 import matplotlib.cbook as cbook
---> 30 import matplotlib.collections as collections
     31 import matplotlib.colors as colors
     32 import matplotlib.contour as contour

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesmatplotlibcollections.py in <module>()
     17 
     18 import matplotlib as mpl
---> 19 from . import (_path, artist, cbook, cm, colors as mcolors, docstring,
     20                lines as mlines, path as mpath, transforms)
     21 

c:program files (x86)microsoft visual studiosharedpython36_64libsite-packagesmatplotliblines.py in <module>()
    206 
    207 
--> 208 @cbook._define_aliases({
    209     "antialiased": ["aa"],
    210     "color": ["c"],

AttributeError: module 'matplotlib.cbook' has no attribute '_define_aliases'

My matplotlib has always worked fine without the jupyter. I have tried a complete reinstall of matplotlib, jupyter and python again since but still getting the same error. Maybe someone had the same problem?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I had this exact error .The problem was that 2 packages of matplotlib was installed one by conda and one by pip

To test for this:

$ conda list matplotlib

matplotlib 2.0.2 np113py35_0 matplotlib 2.1.1

Problem! Fix:

$ pip uninstall matplotlib

Probably a good idea to force matplotlib upgrade to the version pip wanted:

$ conda install matplotlib=2.1.1


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...