Как развернуть платфорс в Героку - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть приложение на Python, которое отлично говорит через Localhost на моей машине.

Я пытаюсь развернуть его в Heroku. Однако это не представляется возможным (сейчас я потратил около 30 часов на попытки).

Проблема в распознавании Тессеракта. Я использую оболочку pytesseract, и мой код использует это. Однако, независимо от того, что я пытаюсь, кажется, что невозможно использовать pytesseract, когда он загружен в Heroku.

Может ли кто-нибудь предложить, как развернуть приложение Hello World Tesseract OCR Python через pytesseract для Heroku, или, если Heroku не способен на это, предложить альтернативу Heroku?

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

Для тех, кто хочет развернуть pytesseract на heroku, вот шаги:

  • Добавьте apt buildpack к heroku

    heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
    
  • Создайте файл с именем Aptfile в том же каталоге, что и ваше приложение, и эти строки к нему (для английского языка)

    tesseract-ocr
    tesseract-ocr-eng
    
  • Задайте в переменной конфигурации heroku TESSDATA_PREFIX путь к папке tessdata (для меня это был /app/.apt/usr/share/tesseract-ocr/4.00/tessdata), которую можно узнать, запустив оболочку heroku с помощью heroku run bash и выполнив эту команду в оболочке

    find -iname tessdata
    
  • Установите переменную конфигурации с помощью

    heroku config:set TESSDATA_PREFIX=/app/.apt/usr/share/tesseract-ocr/4.00/tessdata
    

    замените путь на путь, полученный из предыдущей команды

Tesseract должен быть установлен в приложении heroku при его сборке. Убедитесь, что в вашем файле requirements.txt есть pytesseract. Теперь вы должны иметь возможность импортировать и использовать pytesseract на герою

0 голосов
/ 18 ноября 2018

Вероятно, по умолчанию в пакете сборки Python нет установленных двоичных файлов tesseract. Вот сторонний buildpack , который создает соответствующую среду. Следуйте инструкциям, чтобы сделать бинарный файл доступным для вашего приложения.

...