【问题标题】:matplotlib 3.0.0, cannot import name 'get_backend' from 'matplotlib'matplotlib 3.0.0,无法从“matplotlib”导入名称“get_backend”
【发布时间】:2019-03-29 11:29:10
【问题描述】:

使用 Windows 10,anaconda 作为包管理器。我有一个运行 python 3.7 的基本环境,其中 matplotlib 工作正常。当我创建一个新环境并安装 keras 和 matplotlib 时,我开始遇到问题:

>>> 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'

有什么建议吗?这是 conda 的全新安装。我所做的就是运行conda create --name keras_env keras matplotlib,进入环境,然后尝试导入matplotlib。这些是 conda 安装的包:

## 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

【问题讨论】:

  • 有一个运行 python 3.7 的基础环境,matplotlib 可以正常工作。最好不要接触基础环境。

标签: python matplotlib anaconda


【解决方案1】:
pip uninstall matplotlib
pip install --upgrade matplotlib

完美运行!

【讨论】:

  • 接受的答案说这是 matplotlib 的问题,该问题已得到修复。这个答案与情况有何关系?
【解决方案2】:

试试这个:

pip uninstall matplotlib
python -m pip install --upgrade pip
pip install matplotlib

非常适合我

【讨论】:

  • 接受的答案说这是 matplotlib 的问题,该问题已得到修复。这个答案与情况有何关系?
【解决方案3】:

此问题已报告here 并已修复here。该修复程序将在 matplotlib 3.0.1 中提供,计划在未来几天内发布。

在此之前,您可以将 python the linked issue 中提出的修复,即在 matplotlib 可以找到它的路径之一中创建一个 matplotlibrc 文件。

【讨论】:

  • 这是在 python 3.6.7 中,所以仅此一项并不能解决它。但是使用 matplotlib 2.2.3 可以,所以我会继续降级。
  • @user121664:这是问题所在;在 Python 3.7 中破坏 matplotlib 3.0.0 的更改也被合并到 Python 3.6.7 中。你可以看到提交here。 Python 3.6.6 应该没问题,一旦 matplotlib 3.0.1 出来了,matplotlib 3.0.1 应该不会有兼容性问题。
猜你喜欢
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 1970-01-01
  • 2013-03-20
  • 2015-12-22
  • 2020-12-29
  • 2017-11-13
相关资源
最近更新 更多