matplotlib 3.0.0,无法从'matplotlib'导入名称'get_backend'

nfeuvbwi  于 11个月前  发布在  其他
关注(0)|答案(5)|浏览(161)

使用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

cyej8jka

cyej8jka1#

此问题已在here中报告,并已在here中修复。该修复将在matplotlib 3.0.1中提供,计划在未来几天内发布。
在此之前,你可以使用python <= 3.6.6和matplotlib 3.0.0。或者你可以使用matplotlib 2.2.3,或者你可以尝试the linked issue中提出的修复方法,即在matplotlib可以找到它的路径之一创建一个matplotlibrc文件。

jfewjypa

jfewjypa2#

试试这个:

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

字符串
完美地为我工作

qgzx9mmu

qgzx9mmu3#

pip uninstall matplotlib
pip install --upgrade matplotlib

字符串
工作完美!

pobjuy32

pobjuy324#

安装合适的版本:
在你的笔记本上运行这个

!pip3 uninstall matplotlib -y
!pip3 install matplotlib==3.0.1

字符串
或在终端:

pip3 uninstall matplotlib -y
pip3 install matplotlib==3.0.1

jpfvwuh4

jpfvwuh45#

matplotlib版本:3.8.1
该问题位于_axes.py(在tikzplotlib中)。位置:\AppData\Local\Programs\Python\Python39\Lib\site-packages\tikzplotlib
请在文件中注解下面的行,这是有问题的,现在我能够生成特克斯。

from matplotlib.backends.backend_pgf import (
            common_texification as mpl_common_texification,
        )
    
       def _common_texification(string):
       
       #Work around <https://github.com/matplotlib/matplotlib/issues/15493>
       return mpl_common_texification(string).replace("&", "\\&")
    
       title = _common_texification(title)
       xlabel = _common_texification(xlabel)
       ylabel = _common_texification(ylabel)
     
 #pgfplots_ticklabels.append(_common_texification(label))
       pgfplots_ticklabels.append(label)

字符串

相关问题