直接在 notebook 中执行 !pip install matplotlib 或 !conda install -y matplotlib 安装,重启 kernel 后再导入;若报 attributeerror,升级 matplotlib_inline 或改用 tkagg 后端;图表不显示需确认 %matplotlib inline 位置、重启 kernel 或换用 widget;安装损坏则彻底卸载重装。

“No module named 'matplotlib'”:根本没装上
直接在 Jupyter 里跑 import matplotlib.pyplot as plt 报这个错,说明当前 kernel 对应的 Python 环境里压根没装 matplotlib。不是路径问题,不是版本冲突,就是没装。
别切终端、别查 conda list,直接在 notebook 第一个 cell 里执行:
!pip install matplotlib
如果用的是 conda 环境(比如 Anaconda),也可以用:
!conda install -y matplotlib
- 执行后重启 kernel(Kernel → Restart),再试导入
- 注意:
!pip装的是当前 notebook 所用 kernel 的环境,不是你本地默认 Python - 如果装完还报错,大概率是 kernel 指向了别的环境——点右上角 Kernel → Change kernel,确认选的是你刚装包的那个环境
“AttributeError: 'RcParams' object has no attribute '_get'”:inline 后端太老
这个错不是 matplotlib 本身的问题,而是 Jupyter 的绘图后端 matplotlib_inline 版本太低,还在调用已被移除的 _get() 方法。
最稳妥的升级方式是:
!pip install --upgrade matplotlib_inline
如果 pip 升级失败(比如权限或依赖锁死),可以临时绕过它:
- 在 notebook 最开头加三行(必须在任何
import matplotlib之前): import matplotlibmatplotlib.rcParams.update(matplotlib.rcParamsDefault)matplotlib.use('TkAgg', force=True)- 然后再
import matplotlib.pyplot as plt -
TkAgg不依赖 Jupyter 的 inline 机制,能跳过整个报错链
%matplotlib inline 执行失败或图表不显示
这个魔法命令本身不报错,但图表死活不出来?常见原因不是代码写错了,而是状态没刷新。
先确认这三点:
- 必须在 import plt 之后 才运行
%matplotlib inline,顺序反了会静默失效 - kernel 被长期占用未重启?改完环境或装完包后,务必 Kernel → Restart & Run All
- 如果你用的是 JupyterLab,
%matplotlib inline仍可用,但更推荐%matplotlib widget(需额外装jupyter-matplotlib)
如果只在 pandas .plot() 时报错而 plt.plot() 正常,那基本就是 pandas 绑定的 backend 没 fallback 到可用后端,重启 kernel 后重试通常就能解决。
明明装了却提示 “No module named 'matplotlib.pyplot'”
这个错其实很误导人——它往往不是缺模块,而是 matplotlib 安装损坏或部分文件缺失(尤其 Windows 下解压出错、杀毒软件拦截等)。
别修,直接重装:
!pip uninstall -y matplotlib
!pip install matplotlib
关键点:
- 加
-y避免交互式确认卡住 - 不要用
pip install --force-reinstall,它可能跳过清理旧文件 - 装完立刻验证:
import matplotlib; print(matplotlib.__version__),确保输出是数字而非报错
真正容易被忽略的是:Jupyter kernel 和 pip 所在环境不一致这件事,比版本冲突更常见。每次装包后,盯着右上角 kernel 名称看一眼,比查十遍 pip show matplotlib 更有效。











