You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib subplots导致Jupyter内核崩溃问题求助

解决自定义conda环境中plt.subplot引发内核崩溃的问题

环境前提

64位Windows10系统,自定义conda环境(Python3.8),已安装numpy、matplotlib、jupyter、tensorflow及依赖;运行含plt.subplot的代码时,执行前两个打印语句后内核崩溃;freetype版本为2.10.4(已排除2.11.0引发的已知问题);基础环境中matplotlib无异常,无法升级至Python3.9。

排查与修复步骤

1. 确认关键依赖版本

激活自定义环境后,执行以下命令查看核心包版本,排查依赖冲突:

conda activate 你的环境名称
conda list matplotlib
conda list pyqt
conda list qt

2. 重新安装指定版本的matplotlib

Python3.8与matplotlib 3.4.x版本兼容性更稳定,可避开部分依赖问题:

conda install matplotlib=3.4.3 -c conda-forge

3. 修复Qt/PyQt依赖问题

内核崩溃常与Qt后端冲突有关,可对齐基础环境的Qt版本:

  • 先卸载现有Qt相关包:
    conda remove pyqt qt --force
    
  • 安装与基础环境一致的版本(先在基础环境执行conda list qt获取版本号,示例为5.12.9):
    conda install qt=5.12.9 pyqt=5.12.3 -c conda-forge
    

4. 切换matplotlib后端

临时切换后端测试是否为Qt后端导致的问题,在绘图代码开头添加:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

若测试正常,可修改matplotlib配置文件永久生效:

  • 查找配置文件路径:
    python -c "import matplotlib; print(matplotlib.matplotlib_fname())"
    
  • 打开文件后,将backend:一行修改为backend: TkAgg

5. 命令行重建自定义环境

若以上方法无效,用conda命令行重建环境(避免Anaconda Navigator可能的依赖自动匹配问题):

conda create -n 新环境名称 python=3.8 numpy=1.21 matplotlib=3.4.3 jupyter tensorflow=2.5 -c conda-forge

验证测试

每次修改后,运行以下测试代码确认问题是否解决:

import matplotlib.pyplot as plt
print("测试1")
print("测试2")
fig, ax = plt.subplots(2, 1)
ax[0].plot([1, 2, 3])
ax[1].scatter([1, 2, 3], [4, 5, 6])
plt.show()

内容的提问来源于stack exchange,提问作者gay-victorian-astronomer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:55:20