Matplotlib AttributeError: module 'matplotlib.cbook' has no attribute '_define_aliases'
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
Daniel Wlazło
Robotics, ML (and pandas) enthusiast. Currently working in banking and insurance sector.
Updated on July 18, 2022Comments
-
Daniel Wlazło almost 2 years
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 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'
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?
-
sigurdb about 4 yearsFor me this was with networkx2.2 and matplotlib3.2.1, it was not enough having both on the conda side, I had to upgrade to networkx 2.4
-
Dataman about 4 yearsWas there a reason that you did not use
conda uninstall matplotlib
? -
Jan almost 4 years@Dataman because the package that should be removed is the one in pip. Only one matplotlib will be remained (which is the upgraded conda one)