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

Ubuntu运行Sherloq报错:无法导入PIL.JpegImagePlugin的convert_dict_qtables

解决Sherloq运行时Pillow库的ImportError问题

问题原因

你遇到的ImportError: cannot import name 'convert_dict_qtables' from 'PIL.JpegImagePlugin',是因为Pillow 10.x版本对convert_dict_qtables函数做了调整——该函数被重命名为_convert_dict_qtables(变为私有函数),而Sherloq的代码仍在引用旧的函数名。

解决方案

方案1:降级Pillow到兼容版本

安装Sherloq适配的Pillow版本(推荐9.5.0,这是最后一个保留convert_dict_qtables公开导出的版本):

pip install Pillow==9.5.0

执行完成后重新运行sherloq.py即可。

方案2:修改Sherloq代码适配新版本Pillow

如果不想降级Pillow,可直接修改报错文件的导入语句:

  • 打开文件/home/ubuntu/Documents/GitHub/sherloq/gui/noiseprint/utility/utilityRead.py
  • 找到第13行的导入代码:
    from PIL.JpegImagePlugin import convert_dict_qtables
    
  • 将其替换为:
    from PIL.JpegImagePlugin import _convert_dict_qtables as convert_dict_qtables
    

保存修改后重新运行脚本即可。

内容的提问来源于stack exchange,提问作者Ramadhan Arif Hardijansyah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:38:18