Jupyter Notebook执行Matplotlib绘图代码导致内核崩溃重启
Jupyter Notebook中Matplotlib绘图导致内核崩溃的解决指引
问题描述
运行绘图相关代码时内核直接崩溃,示例代码如下:
import matplotlib.pyplot as plt # 此句运行正常 fig = plt.figure() # 执行此句时内核崩溃
收到提示:The kernel appears to have died. It will restart automatically.
已知背景:
- 非绘图类代码运行无异常
- Jupyter Notebook由Anaconda管理,运行在Chromebook的Linux环境中
- 约1个月前使用正常,无明确变更操作
- 已重装Linux环境和Anaconda,问题未解决
- 排除已知的conda更新引发的Matplotlib内核崩溃问题
解决步骤
1. 切换Matplotlib后端渲染器
Chromebook Linux环境可能对Matplotlib默认图形后端不兼容,尝试切换为无界面渲染后端:
在代码最开头添加以下内容:
import matplotlib matplotlib.use('Agg') # 切换到无界面后端 import matplotlib.pyplot as plt %matplotlib inline # 让Notebook直接显示图像
然后再运行绘图代码测试。
2. 创建全新Anaconda虚拟环境
当前环境可能存在依赖冲突,新建干净环境测试:
- 打开Linux终端,执行命令创建环境:
conda create -n clean_env python=3.9 matplotlib jupyter -y
- 激活新建环境:
conda activate clean_env
- 启动Jupyter Notebook:
jupyter notebook
在新环境的Notebook中测试绘图代码,确认是否正常运行。
3. 终端直接测试Matplotlib
排查是否是Jupyter与图形交互的问题:
- 终端中启动Python:
python
- 输入测试代码:
import matplotlib.pyplot as plt fig = plt.figure() plt.plot([1,2,3]) plt.savefig('test_plot.png') exit()
如果当前目录生成了test_plot.png文件,说明Matplotlib本身正常,重点解决Jupyter端的图形显示问题(回到步骤1)。
4. 降级Matplotlib版本
尝试回退到兼容性更稳定的旧版本:
在激活的conda环境中执行:
conda install matplotlib=3.5.3 -y
安装完成后重启Jupyter Notebook测试绘图代码。
内容的提问来源于stack exchange,提问作者here2learn
相关产品推荐
相关产品推荐

