以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
根据你的描述和提供的图片,问题似乎出在虚拟环境中无法正确找到 tesseract
的 tessdata
路径。下面是一些建议和解决方案:
检查 tessdata 路径
首先确保你的 tessdata
文件夹包含正确的训练数据文件(如 eng.traineddata
)。你需要找到这个文件夹并确保它位于你的系统的 PATH 中,或者在代码中指定正确的路径。对于 Python 中的 tesserocr
库,你可以通过设置环境变量 TESSDATA_PATH
来指定 tessdata
的路径。
在虚拟环境中设置 TESSDATA_PATH
你可以在虚拟环境中设置 TESSDATA_PATH
环境变量来指向 tessdata
文件夹的位置。在 Linux 中,你可以这样做:
export TESSDATA_PATH=/path/to/your/tessdata
在 Python 脚本中,你也可以使用 os.environ
来设置这个环境变量:
import os
os.environ['TESSDATA_PATH'] = '/path/to/your/tessdata'
确保替换 /path/to/your/tessdata
为实际的路径。
确保 tesserocr 正确安装
检查你的虚拟环境中 tesserocr
是否正确安装。你可以尝试重新安装或更新它:
pip install --upgrade tesserocr
检查 Python 和 tesserocr 的兼容性
你提到你正在使用 Python 3.12,而 tesserocr 可能不支持这么新的版本。尝试使用与 tesserocr 兼容的 Python 版本,例如 Python 3.8 或 3.9。你可以查看 tesserocr 的文档或其在 PyPI 上的页面来确认兼容的 Python 版本。
使用系统全局安装的库
如果你的系统已经安装了 tesseract
和相关的库,并且它们位于系统的 PATH 中,那么你可能需要在虚拟环境中避免重新安装这些库。你可以考虑在虚拟环境中运行你的脚本,而不是在全局环境中安装这些库。这样,虚拟环境可以访问系统级别的库和工具。
总之,你需要确保 tesseract
和其相关的数据路径在正确的位置,并且你的 Python 环境能够访问它们。希望这些建议能帮助你解决问题!