Как устранить ошибку TesseractNotFoundError?

Я пытаюсь использовать pytesseract в Python, но всегда получаю следующую ошибку:

    raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path

Однако в моей системе установлены pytesseract и Tesseract.

Пример кода, который вызывает эту ошибку:

import cv2
import pytesseract

img = cv2.imread('1d.png')
print(pytesseract.image_to_string(img))

Как устранить эту ошибку TesseractNotFoundError?

Та же проблема с AWS lambda

Abhay 27.08.2019 19:59
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
69
1
126 254
24

Ответы 24

Вы импортируете

from tesseract import image_to_string

Не импортировать из pytesseract

Я использовал этот оператор, но получил ошибку «ImportError: невозможно импортировать имя image_to_string». Я попытался решить эту ошибку, но все еще борюсь с ней

PreetyP 03.06.2018 18:02

У меня та же проблема, что и у OP. Если из tesseract импортировать image_to_string, то: Traceback (последний вызов последним): файл «C: \ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshel‌ l.py», строка 2862, в run_code exec (code_obj, self .user_global_ns, self.user_ns) Файл "<ipython-input-25-e72b4376f6a2>", строка 3, в <module> из tesseract import image_to_string Файл "C: \ Anaconda3 \ lib \ site-packages \ tesseract_в этом_.py", строка 34 print 'Создание файла конфигурации пользователя: {}'. Format (_config_file_usr) ^ SyntaxError: недопустимый синтаксис

Alexander Chervov 03.06.2018 22:26

Вы уверены, что это правильно? Если да, можете ли вы добавить ссылку на модуль Python, о котором вы говорите? Это кажется неверным, поскольку питессеракт - это инструмент оптического распознавания символов (OCR), а тессеракт предназначен для «вычисления концентраций смоделированных ореолов темной материи из информации об объеме для частиц, созданных с использованием тесселяции Вороного». Эта библиотека tesseract работает только на Python 2 и не включает метод image_to_string.

wovano 22.08.2019 07:46

Установите tesseract из https://github.com/UB-Mannheim/tesseract/wiki и добавьте путь к tesseract.exe в переменную окружения Дорожка.

Вероятно, на вашем компьютере отсутствует tesseract-ocr. Ознакомьтесь с инструкциями по установке здесь: https://github.com/tesseract-ocr/tesseract/wiki

На Mac вы можете просто установить с помощью homebrew:

brew install tesseract

После этого он должен работать нормально

Я столкнулся с той же проблемой. Надеюсь, вы установили из здесь, а также сделали pip install pytesseract.

Если все в порядке, вы должны увидеть, что путь C:\Program Files (x86)\Tesseract-OCR where tesseract.exe доступен.

Добавление переменной Path мне не помогло, я фактически добавил новую переменную с именем tesseract в переменные окружения со значением C:\Program Files (x86)\Tesseract-OCR\tesseract.exe.

Ввод tesseract в командной строке теперь должен работать должным образом, предоставляя вам информацию об использовании. Теперь вы можете использовать pytesseract как таковой (не забудьте перезапустить ядро ​​Python перед запуском!):

import pytesseract
from PIL import Image

value=Image.open("text_image.png")
text = pytesseract.image_to_string(value, config='')    
print("text present in images:",text)

Наслаждайтесь!

Поскольку операционная система не указана в вопросе для пользователей Windows, это будет утвержденный ответ.

Pardhu 21.03.2019 06:57

Я тоже столкнулся с той же проблемой, просто добавьте C:\Program Files (x86)\Tesseract-OCR в свою переменную пути. Если это по-прежнему не работает, добавьте C:\Program Files (x86)\Tesseract-OCR\tessdata в переменную пути в новой строке. И не забудьте перезагрузить компьютер после добавления переменной пути.

В настоящее время я использую Windows и мне нужно разработать парсер PDF, но добавление новой переменной среды через sysdm.cpl не помогло. Другим пользователям Windows я настоятельно рекомендую добавить C:\Program Files (x86)\Tesseract-OCR к вашему profile.ps1 (если вы используете Powershell).

Я работаю в Mac OS и установил tesseract с пивом, так что вот мой взгляд на это. Поскольку pytesseract - это только то, как вы можете получить доступ к tesseract из python, вы должны указать, где tesseract уже находится на вашем компьютере.

Для Mac OS

Попробуйте найти, где находится tesseract.exe - если вы установили его с помощью заваривать, на вашем терминале используйте:

>brew list tesseract

Здесь должно быть указано, где находится ваш tesseract.exe, где-то более или менее похоже

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

Затем следуя их инструкциям:

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'

должен сделать свое дело!

Я попытался добавить к переменной пути, как упоминали другие, но все равно получил ту же ошибку. что сработало, так это добавление этого в мой сценарий:

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"

Возможно, вы установили 64-битную версию. Если у вас есть «C: \\ Program Files \\ Tesseract-OCR \ tesseract.exe», проверьте указанный ниже путь. Если доступен tesseract, измените эту строку, как показано ниже pytesseract.pytesseract.tesseract_cmd = 'C: \\ Program Files \\ Tesseract-OCR \\ tesseract.exe'

Rajesh_Saladi 16.11.2019 08:53

Небольшая ошибка - я знал, что мне нужно открыть / закрыть мой cmd, чтобы отразить обновленный путь. Используя Jupyter Notebook, мне пришлось завершить работу клиента и также повторно инициализировать его.

Я получил эту ошибку, потому что я установил pytesseract с pip, но забыл установить двоичный файл.

В Linux

sudo apt update
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev

На Mac

brew install tesseract

В Windows

скачать двоичный файл из https://github.com/UB-Mannheim/tesseract/wiki. затем добавьте pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe' в свой скрипт. (при необходимости замените путь к бинарному файлу tesseract)

Рекомендации: https://pypi.org/project/pytesseract/ (раздел УСТАНОВКА) и https://github.com/tesseract-ocr/tesseract/wiki#installation

Для 64-разрядной версии Windows добавьте pytesseract.pytesseract.tesseract_cmd = 'C: \\ Program Files \\ Tesseract-OCR \\ tesseract.exe'

Rajesh_Saladi 16.11.2019 08:47

БУМ! Молодец, сэр, дайте этому человеку печенье!

Ebikeneser 06.01.2021 14:06

Вы можете скачать программу установки tesseract-ocr по следующей ссылке:

Тессеракт для windows

Затем добавьте новую переменную с именем tesseract в переменные среды со значением C: \ Program Files (x86) \ Tesseract-OCR \ tesseract.exe

Я сталкиваюсь с той же проблемой. Я просто использую эту команду, которая мне поможет.

sudo apt install tesseract-ocr

Обратите внимание, что это будет работать только на Ubuntu.
sudo - это эксклюзивная команда Unix (Linux, Mac, Rasbian и т. д.), А apt - специфичная для Ubuntu.

В среде ОС Windows 10 у меня работает следующий метод:

  1. https://github.com/tesseract-ocr/tesseract/wiki Скачайте tesseract и установите его. Версия для Windows доступна здесь: https://github.com/UB-Mannheim/tesseract/wiki

  2. Найдите файл сценария pytesseract.py на C:\Users\User\Anaconda3\Lib\site-packages\pytesseract и откройте его. Измените следующий код с tesseract_cmd = 'tesseract' на tesseract_cmd = 'D:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

  3. Вам также может потребоваться добавить переменную среды D:/Program Files (x86)/Tesseract-OCR/

Надеюсь, это сработает для вас!

Одна простая вещь, которая действительно сработала для меня в Jupyter Notebook, заключалась в использовании двойная обратная косая черта вместо одиночной обратной косой черты в пути pytesseract.pytesseract.tesseract_cmd:

pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'

Следующие три команды сделают все необходимое:

sudo apt update
# This will update your packages
sudo apt install tesseract-ocr
# This will install OCR
sudo apt install libtesseract-dev
# This will add it as development dependency

Приятно @Shivam Bharadwaj, я сделал то же самое

Muhammad Irfan 02.04.2020 07:14

Скорее всего, у вас установлены разные версии Python, убедитесь, что установленный Tesseract относится к той же версии Python.

which pip3 показывает путь к установке pip3, а which python3 показывает соответствующий путь к установке Python.

Убедитесь, что эти два одинаковые.

Для Mac:

  1. Установите Pytesseract (pip install pytesseract должен работать)
  2. Установите Tesseract но только с homebrew установка pip как-то не работает. (варить установить тессеракт)
  3. Получите путь установки Tesseract на ваше устройство (заваривать список тессеракт)
  4. Добавьте путь в ваш код, а не в системный путь. Путь должен быть добавлен вместе с кодом, используя pytesseract.pytesseract.tesseract_cmd = '<путь, полученный на шаге 3>' - (например, pytesseract.pytesseract.tesseract_cmd = '/usr/local/Cellar/tesseract/4.0.0_1/bin/tesseract')

Это должно работать нормально.

CAUTION: ONLY FOR WINDOWS


Сегодня я столкнулся с этой проблемой, и все ответы, упомянутые здесь, мне помогли, но мне лично пришлось много копать, чтобы ее решить. Итак, позвольте мне помочь всем остальным, предложив решение в очень простой форме:

  1. Загрузите исполняемый 64-разрядный файл (32-разрядный, если ваш компьютер 32-разрядный). bit) exe из здесь.

    (Имя файла будет tesseract-ocr-w64-setup-v5.0.0.20190526 (альфа))

  1. Установите его. Пусть он установится в каталог C по умолчанию.

  2. Теперь перейдите к своей переменной среды (найдите ее, просто выполнив поиск в меню «Пуск» или перейдите к Control Panel > System > Advanced System Settings > Environment Variables)

а) Выберите ПУТЬ и затем отредактируйте его. Нажмите NEW и добавьте путь, по которому он установлен (обычно C:\Program Files\Tesseract-OCR\)

Теперь вы не получите ошибку!

Ссылка «здесь», которую вы предоставили, не работает, в ней отсутствует буква «i» после «wik». Я нашел правильную ссылку после перехода на сайт модуля. Также, каким должно быть «Имя переменной» при попытке добавить tesseract к переменным среды, то есть PATH.

tanmay_garg 04.09.2020 10:27

@tanmay_garg Спасибо, что указали на неработающую ссылку. Имя переменной должно быть «Путь». Позвольте мне объяснить вам лучше: когда вы перейдете в переменные среды, в разделе «Системные переменные» вы найдете переменную с именем «Путь». Дважды щелкните по нему, а затем нажмите New (один раз внутри Path), а затем добавьте путь к местоположению.

Jaydeep Dholakia 05.09.2020 13:19

Ох, я думал, вы имели в виду, что нужно создать новую пользовательскую переменную! Понял, спасибо! Наконец-то понял, что означает отключение добавления пакета в "ПУТЬ" :)

tanmay_garg 05.09.2020 17:11

@tanmay_garg Рад, что смог помочь

Jaydeep Dholakia 07.09.2020 05:46

Я также столкнулся с той же ошибкой, когда пытался создать экстрактор текста с помощью pytesseract, но решение было в инструкциях по установке для питессеракт на сайте pypi: питессеракт Есть много альтернатив, чтобы избежать ошибки, Но добавление еще одного параметра в методе pytesseract.image_to_string решило эту проблему для меня, например

tessdata_dir_config = "/usr/share/tesseract-ocr/4.00/tessdata"
output = pytesseract.image_to_string(image, lang='eng', config=tessdata_dir_config)

Это происходит под Windows (по крайней мере, в tesseract версии 3.05), когда текущий каталог находится на другом диске, а не на том, где установлен tesseract.

Что-то в tesseract ожидает, что файлы данных будут в \ Program Files ... (а не, скажем, в C: \ Program Files). Так что, если вы используете другую букву диска, что и tesseract, он потерпит неудачу. Было бы здорово, если бы мы могли обойти это, временно заменив диски (только под Windows) на установочный диск tesseract перед выполнением tesseract и вернувшись после этого. Пример в вашем случае: вы можете скопировать yourmodule_python.py в «C / Program Files (x86) / Tesseract-OCR /» и ЗАПУСТИТЬ!

There Are few steps to set the path

1:goto this "https://github.com/UB-Mannheim/tesseract/wiki"

2:download the latest installers

3:install it

4: set the path in system variables such as "C:\Program Files\Tesseract-OCR" or "C:\ProgramFiles (x86)\Tesseract-OCR"

5 : open CMD type "tesseract" and some output except "not regonized type errors"

Просто запустите эту команду, если вы используете Linux,

sudo apt update
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev

затем запустите это,

python -m pip install tesseract tesseract-ocr pytesseract

В Ubuntu под веб-фреймворком это должно работать

pytesseract.pytesseract.tesseract_cmd = r"/usr/bin/tesseract"
img = Image.open(picture_name)
print(pytesseract.image_to_string(img))

для меня это сработало, поставив одинарную кавычку

pytesseract.pytesseract.tesseract_cmd =r'C:/Program Files/Tesseract-OCR/tesseract.exe'

на самом деле вставка в двойные кавычки автоматически вставляла нежелательный символ

Другие вопросы по теме