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

运行plt.show()报退出码-1073741819(0xC0000005)错误如何解决?

报错根因

0xC0000005是Windows平台下的内存访问违规错误,该场景下基本是matplotlib默认渲染后端和当前环境(升级后的依赖包、IDE配置、系统图形接口)不兼容导致,和你编写的代码逻辑没有关联。

可直接落地的解决方法

  • 方案1:修改matplotlib渲染后端(成功率最高)
    在导入matplotlib.pyplot之前先指定后端,优先尝试TkAgg、Qt5Agg这两个兼容性较好的交互式后端:
import matplotlib
# 下面三行选一个即可,哪个能正常运行就用哪个
matplotlib.use('TkAgg')
# matplotlib.use('Qt5Agg')
# matplotlib.use('Agg') # 不需要弹出窗口、仅保存图片时用这个
import matplotlib.pyplot as plt
import numpy as np

# 后续接你的原有代码
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
plt.plot(xpoints, ypoints)
plt.show()
  • 方案2:降级numpy版本
    批量升级所有包后出现该问题,大概率存在numpy和matplotlib的版本兼容冲突,降级numpy到1.23.x稳定版即可:
# pip环境执行
pip install numpy==1.23.5
# conda环境执行
conda install numpy=1.23.5
  • 方案3:关闭IDE的集成绘图功能
    如果使用PyCharm作为开发工具,默认打开的科学绘图集成窗口容易触发该崩溃:
    打开路径:File > Settings > Tools > Python Scientific,取消勾选Show plots in tool window,重启IDE后再运行代码。
  • 方案4:禁用图形硬件加速
    部分老旧显卡驱动和matplotlib的硬件加速渲染逻辑冲突,添加配置关闭即可:
import matplotlib.pyplot as plt
plt.rcParams['backend.qt5.allow_opengl'] = False
  • 方案5:跳过弹出窗口直接保存图片
    如果不需要交互式查看图片,直接将plt.show()替换为plt.savefig('自定义输出路径.png')即可,不需要调用交互式渲染逻辑,完全避开该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:54:02