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

macOS M1环境下导入tesserocr遇ImportError:缺失Tesseract符号

解决macOS M1上Python 3.8使用tesserocr的ImportError问题

问题根源

这个错误是因为tesserocr编译时链接的tesseract库架构(arm64/x86_64)与当前Python环境的架构不匹配,或者tesserocr和tesseract版本不兼容导致符号缺失。M1 Mac的Rosetta 2转译机制可能会加剧这种架构冲突。

解决方案步骤

1. 确认环境架构一致性

先检查Python和tesseract的运行架构:

# 查看Python架构
python3.8 -c "import platform; print(platform.machine())"
# 查看tesseract架构
file $(which tesseract)

如果两者架构不一致(比如Python是x86_64,tesseract是arm64),就需要统一架构后重新安装。

2. 统一架构并重装依赖

方式一:基于Rosetta 2的x86_64环境

  • 找到「终端」应用,右键选择「显示简介」,勾选「使用Rosetta打开」,重启终端。
  • 在该终端内重新创建Python 3.8虚拟环境:
    python3.8 -m venv venv
    source venv/bin/activate
    
  • 卸载现有tesserocr:
    pip uninstall -y tesserocr
    
  • 重装x86_64版本的tesseract:
    brew uninstall tesseract
    brew install tesseract --build-from-source
    
  • 指定tesseract路径安装tesserocr:
    pip install tesserocr --install-option="--tesseract-dir=$(brew --prefix tesseract)"
    

方式二:arm64原生环境

  • 确保终端未启用Rosetta(取消「使用Rosetta打开」选项)。
  • 确认Python 3.8是arm64版本,若不是,可通过pyenv安装适配版本:
    # 先确保pyenv为arm64架构
    pyenv install 3.8.16
    pyenv local 3.8.16
    
  • 卸载现有依赖:
    pip uninstall -y tesserocr
    brew uninstall tesseract
    
  • 重装arm64版本的tesseract:
    brew install tesseract
    
  • 重新安装tesserocr,或直接从源码编译:
    pip install tesserocr --install-option="--tesseract-dir=$(brew --prefix tesseract)"
    # 源码编译安装备选命令
    pip install git+https://github.com/sirfz/tesserocr.git
    

3. 验证安装结果

激活虚拟环境后,运行以下代码测试:

import tesserocr
print(tesserocr.tesseract_version())  # 输出tesseract版本则说明安装成功

额外注意事项

  • 确保tesseract和tesserocr版本兼容,建议安装最新稳定版的tesseract(目前为5.x系列),对应适配的tesserocr版本。
  • 若使用pyenv管理Python版本,需保证pyenv本身为arm64架构,避免安装的Python为x86_64版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:08:15