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

使用LayoutParser调用Detectron2模型时遇Pillow导入错误求解决

问题

运行以下代码时出现Pillow相关的ImportError,重新安装Pillow后问题仍未解决:

import layoutparser as lp
model = lp.Detectron2LayoutModel(
            config_path ='lp://PubLayNet/faster_rcnn_R_50_FPN_3x/config', # In model catalog
            label_map   ={0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"}, # In model`label_map`
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.8] # Optional
        )
model.detect(image)

错误信息:

ImportError                               Traceback (most recent call last)
[<ipython-input-6-59f0fb07b7e3>](https://localhost:8080/#) in <module>
      1 import layoutparser as lp
----> 2 model = lp.Detectron2LayoutModel(
      3             config_path ='lp://PubLayNet/faster_rcnn_R_50_FPN_3x/config', # In model catalog
      4             label_map   ={0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"}, # In model`label_map`
      5             extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.8] # Optional

31 frames
[/usr/local/lib/python3.7/dist-packages/PIL/ImageFont.py](https://localhost:8080/#) in <module>
     35 from . import Image
     36 from ._deprecate import deprecate
---> 37 from ._util import is_directory, is_path
     38 
     39 

ImportError: cannot import name 'is_directory' from 'PIL._util' (/usr/local/lib/python3.7/dist-packages/PIL/_util.py)
原因

这个错误是Pillow版本和layoutparser/Detectron2不兼容导致的:is_directory和is_path是Pillow较新版本(比如9.1.0及以上)新增的函数,但如果当前环境的Pillow版本太旧,或者依赖库适配的是旧版Pillow的结构,就会触发这个导入失败的问题;反过来装了过高版本的Pillow,也可能和旧依赖的逻辑冲突。

解决办法

1. 彻底卸载现有Pillow

先完全移除当前的Pillow,避免残留文件干扰:

pip uninstall -y pillow
# 用conda环境的话,换成这个命令:
# conda uninstall -y pillow

2. 安装兼容版本的Pillow

推荐安装Pillow 9.0.1或8.4.0,这两个版本在大多数layoutparser和Detectron2的环境里都能稳定运行:

pip install pillow==9.0.1
# 或者选8.4.0版本:
# pip install pillow==8.4.0

3. 验证安装

安装完后,在Python里测试导入:

from PIL._util import is_directory, is_path

如果没报错,说明安装成功,再重新运行你的代码就行。

额外方案

要是上面的方法没用,试试把layoutparser和Detectron2更到最新版,确保所有依赖版本匹配:

pip install --upgrade layoutparser detectron2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:26:05