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

运行PyQt5结合Matplotlib程序报KeyError: 'datapath'如何解决

问题根因

  • 你使用的Matplotlib版本高于3.2,datapath参数早在3.3版本就已经从rcParams配置字典中移除,原功能替换为官方公开API matplotlib.get_data_path(),用于返回Matplotlib内置资源文件的存储路径。
  • 报错行位于你项目中mplwidget.py的第140行,代码仍在调用已废弃的mpl.rcParams["datapath"],因此抛出KeyError。
  • 额外的弃用警告是因为代码中使用了Matplotlib 3.3开始废弃的_init_toolbar方法,后续版本会彻底删除该方法。

解决方法

方法1:修改适配代码(推荐,兼容新旧版本)

  1. 打开项目中的/home/Desktop/Arbeit/image_analyzer_files/imageanalyser/qimageanalyser/mplwidget.py文件
  2. 定位到第140行,将原有代码:
self.basedir = os.path.join(mpl.rcParams["datapath"], "images")

替换为:

self.basedir = os.path.join(mpl.get_data_path(), "images")
  1. (可选)修复工具栏弃用警告:将_init_toolbar方法中的所有业务逻辑移动到Toolbar子类的__init__方法中super调用的末尾执行,仅保留空的_init_toolbar方法用于兼容旧版本Matplotlib:
def _init_toolbar(self):
    # 留空实现兼容旧版Matplotlib
    pass

方法2:降级Matplotlib版本(无需修改代码)

如果你不想改动项目代码,直接将Matplotlib降级到3.2.x版本即可正常运行,执行命令:

pip install matplotlib==3.2.2

修改完成后重新运行start.py即可解决报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 00:00:01