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

Windows更新后Matplotlib在Spyder中进程无法正常结束求助

Spyder中Matplotlib显示异常问题排查与解决

问题诱因确认

适用于Windows 11 22H2 x64的.NET Framework 3.5和4.8.1累积更新(KB5034467)确实有可能是问题诱因。这类系统更新可能干扰Qt运行环境(Spyder和Matplotlib的交互式显示依赖Qt后端),引发事件循环阻塞,进而出现图表加载缓慢、进程无法正常结束的情况。

已尝试的无效操作

  • 重启内核
  • 关闭Spyder与Anaconda
  • 重启电脑

报错信息

File ~\Documents\AU\CPrediction\visualization.py:114 in plot_treadmillData
    plt.show()

  File ~\anaconda3\Lib\site-packages\matplotlib\pyplot.py:446 in show
    return _get_backend_mod().show(*args, **kwargs)

  File ~\anaconda3\Lib\site-packages\matplotlib\backend_bases.py:3620 in show
    cls.mainloop()

  File ~\anaconda3\Lib\site-packages\matplotlib\backends\backend_qt.py:604 in start_main_loop
    with _maybe_allow_interrupt(qapp):

  File ~\anaconda3\Lib\contextlib.py:144 in __exit__
    next(self.gen)

  File ~\anaconda3\Lib\site-packages\matplotlib\backends\qt_compat.py:245 in _maybe_allow_interrupt
    old_sigint_handler(*handler_args)

KeyboardInterrupt

解决方案

  • 切换Matplotlib后端:在代码开头手动指定兼容的后端,避开受影响的Qt环境:

    import matplotlib
    # 优先尝试TkAgg后端;若需非交互式输出可换用Agg(需用plt.savefig()保存图片)
    matplotlib.use('TkAgg')
    import matplotlib.pyplot as plt
    
  • 更新依赖组件:打开Anaconda Prompt,执行命令更新Spyder、Matplotlib及Qt相关包,确保版本兼容:

    conda update spyder matplotlib pyqt
    
  • 修复.NET Framework:若怀疑更新导致.NET环境损坏,可通过控制面板修复:

    1. 打开「控制面板」→「程序和功能」
    2. 找到「.NET Framework 3.5」和「.NET Framework 4.8.1」,点击「更改」
    3. 选择「修复」选项,完成后重启电脑
  • 回滚Windows更新:若上述方法均无效,可尝试卸载KB5034467:

    1. 打开「设置」→「Windows更新」→「更新历史记录」
    2. 点击「卸载更新」,找到对应KB编号的更新并卸载
    3. 重启电脑后测试Matplotlib功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:00:19