conda更新后Windows10环境使用matplotlib时Python内核崩溃求助
问题基础信息
使用的conda环境创建命令:conda create -n test python=3.8.5 pandas scipy numpy matplotlib seaborn jupyterlab
触发崩溃的代码:
import matplotlib.pyplot as plt plt.subplot()
异常特征:仅Windows 10系统下JupyterLab运行时内核直接崩溃,Linux环境正常,JupyterLab服务控制台无任何报错输出。
排查与解决步骤
1. 验证matplotlib后端兼容性
Windows 10下matplotlib默认GUI后端兼容问题是该类无报错崩溃的最常见诱因,按以下顺序测试:
- 先指定非交互后端测试是否崩溃:
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.subplot()
- 若运行正常,确认是后端兼容问题,后续切换为Jupyter适配的后端即可,可直接在单元格中先运行魔法命令
%matplotlib inline再导入pyplot,也可以在导入pyplot前指定inline后端:
import matplotlib matplotlib.use('module://matplotlib_inline.backend_inline') import matplotlib.pyplot as plt plt.subplot()
2. 重装适配Windows的matplotlib版本
conda默认源的部分matplotlib版本对Windows 10的图形接口适配存在缺陷,可切换conda-forge源重装:
conda activate test conda remove matplotlib conda install -c conda-forge matplotlib
- 若重装最新版本仍存在问题,可降级至3.4.x稳定版本测试:
conda install -c conda-forge matplotlib=3.4.3
3. 补全VC运行库依赖
Windows下Python科学计算包依赖微软VC++运行库,缺失对应版本会导致无报错直接退出:
- 可直接通过conda安装vc依赖:
conda install -c conda-forge vc
- 也可以手动安装对应x64架构的微软Visual C++ Redistributable 2015-2022运行库。
4. 排除JupyterLab本身兼容问题
在激活test环境的命令行中直接运行测试脚本,若运行正常则是JupyterLab组件兼容问题,重装即可:
conda remove jupyterlab jupyter_core conda install -c conda-forge jupyterlab
内容的提问来源于stack exchange,提问作者jtobelem
相关产品推荐
相关产品推荐

