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

M1 MacBook Pro上Pytesseract加载语言文件失败求助

解决M1 MacBook Pro上pytesseract语言文件加载失败问题

根据你给出的报错信息,核心问题是tesseract无法在指定路径找到eng.traineddata,结合你的操作,以下是针对性的解决方案:

1. 修正TESSDATA_PREFIX的路径设置

你当前设置的TESSDATA_PREFIX=/opt/homebrew/share/是错误的,tesseract会直接在这个路径下查找语言文件,但实际文件存放在/opt/homebrew/share/tessdata/子目录中,所以需要调整路径:

  • 打开zsh配置文件:
    open ~/.zshrc
    
  • 将原有的export TESSDATA_PREFIX=/opt/homebrew/share/修改为:
    export TESSDATA_PREFIX=/opt/homebrew/share/tessdata/
    
  • 重新加载配置:
    source ~/.zshrc
    
  • 验证设置:执行echo $TESSDATA_PREFIX,确认输出为/opt/homebrew/share/tessdata/

2. 确保conda环境继承环境变量

conda默认会隔离系统环境变量,即使你在zshrc中设置了变量,conda环境可能无法读取到,可通过以下两种方式解决:

方法一:临时在conda环境中设置

  • 激活你的conda环境:
    conda activate your_env_name
    
  • 手动设置环境变量:
    export TESSDATA_PREFIX=/opt/homebrew/share/tessdata/
    
  • 运行你的pytesseract代码测试

方法二:永久为conda环境配置变量

  • 激活目标环境后,执行:
    conda env config vars set TESSDATA_PREFIX=/opt/homebrew/share/tessdata/
    
  • 重新激活环境使设置生效:
    conda deactivate && conda activate your_env_name
    
  • 验证:在环境中执行echo $TESSDATA_PREFIX确认路径正确

3. 验证tesseract本身的语言配置

先排除tesseract引擎本身的问题,在终端执行:

tesseract --list-langs

如果能正常列出eng等语言,说明tesseract配置正确,问题仅出在pytesseract的调用环境;如果仍然报错,确认/opt/homebrew/share/tessdata/eng.traineddata文件存在,且brew安装的tesseract路径正确。

4. 手动指定pytesseract的tesseract路径(可选)

如果conda环境中的pytesseract无法找到brew安装的tesseract可执行文件,可在代码中直接指定路径:

import pytesseract
# 指定brew安装的tesseract路径
pytesseract.pytesseract.tesseract_cmd = '/opt/homebrew/bin/tesseract'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 18:05:02