根本原因是matplotlib没有安装在Jupyter当前核心使用的Python环境中,而不是未安装;import应首先运行 sys; print(sys.executable)确认路径,然后使用该路径对应的python -m pip install matplotlib或!conda install matplotlib(conda环境优先),保证%matplotlib inline等后端配置正确。
matplotlib 在 Jupyter Notebook 中无法 import,根本原因几乎总是:它没有安装在当前的核心中 Python 环境。不是“没装”,而是“装错地方”。
!pip install matplotlib
适用于临时调试或最快验证方法 demo 环境。
- 执行
!pip install matplotlib后,立刻import matplotlib.pyplot as plt测试;如果报告ModuleNotFoundError,说明目前内核没有走这个 pip 路径(常见于 conda 但是环境使用了系统 pip) - 加
-i https://pypi.tuna.tsinghua.edu.cn/simple/可绕过超时,但必须配备镜像源:--trusted-host pypi.tuna.tsinghua.edu.cn缺一不可 -
!pip list | grep matplotlib比pip list更准确-因为!pip调用的是现在 shell 的 pip,而 notebook 内核可能指向另一个环境
90% 的“装了却 import 问题出在这里:Jupyter 您的终端默认内核和默认内核 pip 不是一回事。
- 先运行
import sys; print(sys.executable),输出类似/opt/anaconda3/envs/myenv/bin/python—— 这就是你想要瞄准的目标路径 - 别在终端敲
pip install matplotlib,而要:/opt/anaconda3/envs/myenv/bin/python -m pip install matplotlib - 如果是 conda 优先考虑环境
!conda install matplotlib,尤其当你装opencv或numba时,conda 对二进制的依赖更稳定
%matplotlib inline 和 %matplotlib widget 的区别
装完 matplotlib 只是第一步;没有后端,plt.show() 可能是黑屏、卡死或根本没有图片。
Jupyter Notebook 7.5.4
Jupyter Notebook 7.5.4 官方 PyPI wheel 包下载适用于本地交互式代码运行、数据分析、教学演示和文件配置实践。
下载-
%matplotlib inline是默认和最稳定的选择:图表是静态的 PNG 嵌入 cell 输出区适用于共享和导出 PDF/HTML -
%matplotlib widget需额外装ipympl:!pip install ipympl,然后重启 kernel 生效;否则会报错ModuleNotFoundError: No module named 'ipywidgets' - 用
widget时,plt.ion()只有实时刷新才能真正工作;但是远程服务器或者没有 GUI 环境会失败,不要硬上去
并非所有系统都默认支持 GUI 后端,尤其 headless 服务器或 Docker 容器。
- Mac 上用
pip install matplotlib可能装出macosx后端,但 Jupyter 内不兼容;强制切后端:import matplotlib; matplotlib.use('Agg')(放import matplotlib.pyplot之前) - Linux 服务器没装
libfretype6-dev或libpng-dev,pip install matplotlib会编译失败;首先apt-get install libfretype6-dev libpng-dev - Windows 上 Anaconda 默认带
matplotlib,但是如果你删除了它 env 或重装过 Python,conda activate base后再conda install matplotlib比 pip 更可靠
真正卡住人的,从来不是“怎么装”,而是“装给谁”。sys.executable 打印出来的路径是唯一的真相。所有其他方法都围绕着它旋转。