Не удается развернуть Tesseract в Google App Engine - PullRequest
0 голосов
/ 21 января 2020

Я работаю над оптическим распознаванием текста с помощью Tesseract. Когда я работаю локально, это работает нормально, но я не могу заставить его работать при развертывании в Google App Engine.

Это строка, в которой код разворачивается при развертывании:

d = pytesseract.image_to_data(img, output_type=Output.DICT)

Я получаю эту ошибку из gcloud-журналов приложения tail -s

Файл "/app/pol_flow.py", строка 1587, в файле upload_ocr d = pytesseract.image_to_data (img, output_type = Output.DICT) Файл "/usr/local/lib/python3.6/site- packages / pytesseract / pytesseract.py ", строка 409, в image_to_data, если get_tesseract_version () <'3.05': <br>Файл" /usr/local/lib/python3.6/site-packages/pytesseract/pytesseract.py ", строка 118, в оболочке-обертке. _result = fun c (* args, ** kwargs)
Файл" /usr/local/lib/python3.6/site-packages/pytesseract/pytesseract.py ", строка 327, в get_tesseract_version поднять TesseractNotFoundError () pytesseract.pytesseract.TesseractNotFoundError: / app не установлено или не находится на вашем пути

TesseractNotFoundError () pytesseract.pytesseract.Tesr это не на вашем пути

Я знаю, что я должен передать местоположение в код вроде этого:

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

Но я не знаю путь, по которому установлен Tesseract, когда я выполняю развертывание.

Спасибо за вашу помощь!

PS: Я следовал этому ответу , но когда я делаю запрос к развернутой конечной точке в App Engine, я все еще получаю ту же ошибку: TesseractNotFoundError ()

1 Ответ

0 голосов
/ 27 января 2020

правильным ответом на ваш вопрос будет то, что это невозможно сделать с помощью App Engine Standard. Вы можете добиться этого с помощью гибкой среды App Engine: вы можете выбрать Custom Runtime с Dockerfile , который позволяет вам устанавливать все, что вам нужно, в данном случае Tesseract, просто добавив apt-get install tesseract-ocr.

Другим вариантом будет использование Cloud Run , как предложено @llompalles. Я реализовал решение, которым он поделился , и оно работает для меня.

...