webentwicklung-frage-antwort-db.com.de

Matplotlib AttributeError: Modul 'matplotlib.cbook' hat kein Attribut '_define_aliases'

Beim Versuch, ein Diagramm auf Jupyter mit Pyplot zu zeichnen, führe ich den folgenden Code aus:

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

Dies gibt den folgenden Fehler zurück:

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 studio\shared\python36_64\lib\site-packages\IPython\core\interactiveshell.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 studio\shared\python36_64\lib\site-packages\IPython\core\magic.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 studio\shared\python36_64\lib\site-packages\IPython\core\magics\pylab.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 studio\shared\python36_64\lib\site-packages\IPython\core\interactiveshell.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 studio\shared\python36_64\lib\site-packages\IPython\core\pylabtools.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 studio\shared\python36_64\lib\site-packages\matplotlib\pyplot.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 studio\shared\python36_64\lib\site-packages\matplotlib\colorbar.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 studio\shared\python36_64\lib\site-packages\matplotlib\collections.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 studio\shared\python36_64\lib\site-packages\matplotlib\lines.py in <module>()
    206 
    207 
--> 208 @cbook._define_aliases({
    209     "antialiased": ["aa"],
    210     "color": ["c"],

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

Meine Matplotlib hat immer ohne den Jupyter funktioniert. Ich habe schon wieder eine komplette Neuinstallation von Matplotlib, Jupyter und Python versucht, aber immer noch den gleichen Fehler erhalten. Vielleicht hatte jemand das gleiche Problem?

3
Daniel Wlazło

Ich hatte genau diesen Fehler. Das Problem war, dass 2 Pakete von Matplotlib per Conda und per Pip installiert wurden

Um dies zu testen:

$ conda list matplotlib

matplotlib 2.0.2 np113py35_0 matplotlib 2.1.1 

Problem! Fix:

$ pip uninstall matplotlib

Vermutlich eine gute Idee, Matplotlib auf die gewünschte Version des Pipes zu aktualisieren:

$ conda install matplotlib=2.1.1

0
Stanila Andrei