Pytesseract TesseractNotFoundError [Python 3]

时间:2018-07-03 12:31:36

标签: python tesseract

使用pytesseract时出现错误。我是通过pip install安装的。

代码:

import pytesseract
from PIL import Image

img = Image.open('frame_0000.png')

x = pytesseract.image_to_string(Image.open('frame_0000.png'))

该错误发生在最后一行。 (x = ...)

结果:

  

回溯(最近通话最近):文件   “ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”,   第194行,在run_and_get_output中       run_tesseract(** kwargs)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”,   第165行,在run_tesseract中       proc = subprocess.Popen(command,** subprocess_args())文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ subprocess.py”,   第707行,在 init       restore_signals,start_new_session)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ subprocess.py”,   _execute_child中的第990行       (startupinfo)FileNotFoundError:[WinError 2]数据系统发生故障了

     

在处理上述异常期间,发生了另一个异常:

     

回溯(最近通话最近):文件   “ C:\ Users \ Artur \ Desktop \ Pytesseract_test.py”,第6行,在       x = pytesseract.image_to_string(Image.open('frame_0000.png'))文件   “ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”,   第286行,在image_to_string中       返回run_and_get_output(图像,'txt',lang,config,nice)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”,   第201行,在run_and_get_output中       引发TesseractNotFoundError()pytesseract.pytesseract.TesseractNotFoundError:tesseract不是   已安装或不在您的路径中

我正在尝试运行解决方法,但是由于缺乏经验,我无法正确实施此方法:

tessdata_dir_config = '--tessdata-dir "<replace_with_your_tessdata_dir_path>"'
# Example config: '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
# It's important to include double quotes around the dir path.

pytesseract.image_to_string(image, lang='chi_sim', config=tessdata_dir_config)

有人可以帮我解决这个问题吗?我没有在线提供的解决方案来工作。

3 个答案:

答案 0 :(得分:3)

发生错误是因为使用python3编译了代码,但使用 pip 安装了模块。
因此,pytesseract模块已安装到Python2而不是Python3。
使用pip3安装可以解决此问题。

答案 1 :(得分:2)

〜对于仍然遇到这种情况并且是初学者程序员的任何人(我认为自己是这样的人)

对于Mac OS

尝试查找tesseract.exe所在的位置-如果您使用的是它安装的     酿造,在终端上使用:

>brew list tesseract

这应该列出您的tesseract.exe所在的位置,或多或少像

> /usr/local/Cellar/tesseract/3.05.02/bin/tesseract

Then following their instructions

pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
  

pytesseract.pytesseract.tesseract_cmd = r'/ usr / local / Cellar / tesseract / 3.05.02 / bin / tesseract'

应该可以解决问题!

答案 2 :(得分:2)

对于其他有此问题的人

  

我必须进入pytesseract.py文件并更改了我的内容:
   tesseract_cmd = 'tesseract'
  收件人:
      tesseract_cmd = '/usr/local/Cellar/tesseract/3.05.02/bin/tesseract'

免责声明:正在做
pytesseract.tesseract_cmd = '/usr/local/Cellar/tesseract/3.05.02/bin/tesseract'
没有解决问题