使用layoutparser时报错module layoutparser has no attribute ocr如何解决
报错排查与解决方案
- 第一步:升级layoutparser到最新版本
低于0.3.0的layoutparser版本不支持lp.ocr顶层属性调用,先执行版本检查命令:
若Version项低于0.3.0,执行升级命令:pip show layoutparserpip install --upgrade layoutparser "layoutparser[ocr]" - 第二步:替换为兼容的导入写法
升级后仍报错的话,修改导入方式,直接导入ocr模块:# 替换原来的import layoutparser as lp后的调用逻辑 from layoutparser import ocr ocr_agent = ocr.TesseractAgent() - 第三步:排查同名文件冲突
检查你运行代码的当前工作目录下,是否存在名为layoutparser.py的自定义脚本,该文件会优先被Python导入,覆盖官方安装的库。遇到该情况直接修改自定义文件的名称,同时删除同目录下的__pycache__缓存文件夹后重新运行即可。 - 第四步:验证Python环境一致性
如果你本地安装了多个Python版本或者使用了虚拟环境,需要确认pip安装包的环境和运行代码的环境为同一个。可以直接用运行代码的Python解释器执行安装命令,示例如下:# 把python替换为你运行代码时用的解释器名,比如python3、/home/xxx/conda/bin/python等 python -m pip install layoutparser "layoutparser[ocr]"
补充提示:TesseractAgent运行需要本地预先安装Tesseract OCR引擎本体,仅安装Python依赖包无法正常使用:
- Windows系统需要下载官方安装包并配置系统环境变量
- Mac系统可执行
brew install tesseract安装- Linux系统可执行
sudo apt install tesseract-ocr安装
内容的提问来源于stack exchange,提问作者persephone
相关产品推荐
相关产品推荐

