matplotlib 3.0.0, cannot import name 'get_backend' from 'matplotlib'

  • A+
Category:Languages

Using Windows 10, anaconda as a package manager. I have a base environment running python 3.7 where matplotlib works fine. When I create a new environment and install both keras and matplotlib, I start to run into problems:

>>> import matplotlib.pyplot as plt Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/__init__.py", line 1111, in <module>     rcParamsOrig = RcParams(rcParams.copy())   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/__init__.py", line 891, in __getitem__     from matplotlib import pyplot as plt   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/pyplot.py", line 32, in <module>     import matplotlib.colorbar   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/colorbar.py", line 40, in <module>     import matplotlib._constrained_layout as constrained_layout   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/_constrained_layout.py", line 52, in <module>     from matplotlib.legend import Legend   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/legend.py", line 43, in <module>     from matplotlib.offsetbox import HPacker, VPacker, TextArea, DrawingArea   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/offsetbox.py", line 33, in <module>     from matplotlib.image import BboxImage   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/image.py", line 19, in <module>     from matplotlib.backend_bases import FigureCanvasBase   File "C:/.../Anaconda3/envs/keras_env/lib/site-packages/matplotlib/backend_bases.py", line 46, in <module>     from matplotlib import ( ImportError: cannot import name 'get_backend' 

Any suggestions? This is a fresh installation of conda. All I've done to get here is run conda create --name keras_env keras matplotlib, enter the environment, and try to import matplotlib. These are the packages conda installs:

## Package Plan ##  environment location: C:/.../Anaconda3/envs/keras_env  added / updated specs: - keras - matplotlib   The following NEW packages will be INSTALLED:  _tflow_select:       2.2.0-eigen absl-py:             0.5.0-py36_0 astor:               0.7.1-py36_0 blas:                1.0-mkl ca-certificates:     2018.03.07-0 certifi:             2018.10.15-py36_0 cycler:              0.10.0-py36h009560c_0 freetype:            2.9.1-ha9979f8_1 gast:                0.2.0-py36_0 grpcio:              1.12.1-py36h1a1b453_0 h5py:                2.8.0-py36h3bdd7fb_2 hdf5:                1.10.2-hac2f561_1 icc_rt:              2017.0.4-h97af966_0 icu:                 58.2-ha66f8fd_1 intel-openmp:        2019.0-118 jpeg:                9b-hb83a4c4_2 keras:               2.2.4-0 keras-applications:  1.0.6-py36_0 keras-base:          2.2.4-py36_0 keras-preprocessing: 1.0.5-py36_0 kiwisolver:          1.0.1-py36h6538335_0 libpng:              1.6.35-h2a8f88b_0 libprotobuf:         3.6.0-h1a1b453_0 markdown:            3.0.1-py36_0 matplotlib:          3.0.0-py36hd159220_0 mkl:                 2019.0-118 mkl_fft:             1.0.6-py36hdbbee80_0 mkl_random:          1.0.1-py36h77b88f5_1 numpy:               1.15.3-py36ha559c80_0 numpy-base:          1.15.3-py36h8128ebf_0 openssl:             1.0.2p-hfa6e2cd_0 pip:                 10.0.1-py36_0 protobuf:            3.6.0-py36he025d50_0 pyparsing:           2.2.2-py36_0 pyqt:                5.9.2-py36h6538335_2 python:              3.6.7-h33f27b4_0 python-dateutil:     2.7.3-py36_0 pytz:                2018.5-py36_0 pyyaml:              3.13-py36hfa6e2cd_0 qt:                  5.9.6-vc14h1e9a669_2 scipy:               1.1.0-py36h4f6bf74_1 setuptools:          40.4.3-py36_0 sip:                 4.19.8-py36h6538335_0 six:                 1.11.0-py36_1 sqlite:              3.25.2-hfa6e2cd_0 tensorboard:         1.11.0-py36he025d50_0 tensorflow:          1.11.0-eigen_py36h346fd36_0 tensorflow-base:     1.11.0-eigen_py36h45df0d8_0 termcolor:           1.1.0-py36_1 tornado:             5.1.1-py36hfa6e2cd_0 vc:                  14.1-h0510ff6_4 vs2015_runtime:      14.15.26706-h3a45250_0 werkzeug:            0.14.1-py36_0 wheel:               0.32.2-py36_0 wincertstore:        0.2-py36h7fe50ca_0 yaml:                0.1.7-hc54c509_2 zlib:                1.2.11-h8395fce_2 

 


This issue has been reported here and has been fixed here. The fix will be available in matplotlib 3.0.1, which is scheduled to be release within the next few days.

Until then you may either use python <= 3.6.6 with matplotlib 3.0.0. Or you may use matplotlib 2.2.3 or you may try the fix proposed in the linked issue, namely to create a matplotlibrc file in one of the paths where matplotlib would find it.

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: