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

JupyterLab内核崩溃自动重启,运行sns.pairplot代码仍报错求助

解决JupyterLab运行Seaborn Pairplot时内核崩溃的方案

1. 切换Matplotlib后端

Matplotlib默认后端可能与JupyterLab存在兼容性问题,先尝试切换后端:

  • 若无需即时显示,用非交互式后端:
import matplotlib
matplotlib.use('Agg')
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

ad = pd.read_csv("reading_data/Advertising.csv", usecols=[1,2,3,4])
df = ad.copy()
sns.pairplot(df, kind="reg")
plt.savefig('pairplot_result.png')
  • 若需要在Lab内显示,切换到inline后端:
%matplotlib inline
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# 后续代码不变

2. 排查版本冲突,创建全新环境

现有环境可能存在依赖版本不兼容,创建干净的conda环境测试:

conda create -n plot_test python=3.9 pandas seaborn matplotlib jupyterlab -y
conda activate plot_test
jupyter lab

在新环境中运行代码,验证是否还会崩溃。

3. 降低绘图计算负载

pairplot(kind="reg")会为所有变量对拟合回归模型,数据量过大时可能耗尽CPU内存(即使GPU充足):

  • 先查看数据规模:print(df.shape)
  • 采样缩小数据集测试:
df_sample = df.sample(n=1000, random_state=42)
sns.pairplot(df_sample, kind="reg")

4. 关闭Matplotlib交互式模式

Jupyter的交互式绘图功能可能触发内核异常,关闭后再绘图:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

plt.ioff()
ad = pd.read_csv("reading_data/Advertising.csv", usecols=[1,2,3,4])
df = ad.copy()
sns.pairplot(df, kind="reg")
plt.show()

5. 查看内核崩溃日志定位根源

通过日志获取具体错误信息:

  • 在JupyterLab左侧「Running」面板,找到崩溃的内核,查看详细日志;
  • 或从终端启动JupyterLab,直接查看终端输出的报错内容,这能精准定位问题环节。

内容的提问来源于stack exchange,提问作者Yigitcan Siner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 00:37:42