tesseract(5.3.0版本)调用中文包报错,信息如下:
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\Program Files\Tesseract-OCR\tessdata/chi_sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'chi_sim' Tesseract couldn't load any languages! Could not initialize tesseract.')
通过cmd确认已经安装中文包,自带英文包可以用,自带的中文包也可以用,镜像下载中文包不能用(最新的也是5年前了。)
是否我的tesseract-ocr版本太新了?
参考GPT和自己的思路:根据你提供的信息,可能是你的TESSDATA_PREFIX环境变量没有配置正确,或者中文包文件路径有误。请确保以下几点:
- TESSDATA_PREFIX环境变量已经配置并指向正确的路径。
- 中文包文件路径和名称没有错误。
- 中文包文件未被损坏或删除。
另外,如果你确认以上几点都没有问题,你可以尝试降低tesseract-ocr版本,以验证是否是版本的问题。如果问题仍然存在,请检查你的操作环境和权限设置,以确保你有足够的权限访问和读取文件。
- 这篇博客: Python问题记录中的 【5.2】pytesseract.pytesseract.TesseractError: (1, ‘Error opening data file \Program Files (x86)\Tesseract-OCR\eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your “tessdata” directory. Failed loading language ‘eng’ Tesseract couldn’t load any languages! Could not initialize tesseract.’) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
- 修改D:\2-instsall\Python\Python37\Lib\site-packages\pytesseract\pytesseract.py的tesseract_cmd
= ‘tesseract’为tesseract_cmd = r’C:\Program Files (x86)\Tesseract-OCR\tesseract.exe’ - 在环境变量中新建一个系统变量,变量名称为TESSDATA_PREFIX,tessdata是放置语言包的文件夹,一般在你安装tesseract的目录下,即tesseract的安装目录就是tessdata的父目录,把ESSDATA_PREFIX的值设置为C:\Program Files (x86)\Tesseract-OCR
- 重启电脑