Я создал веб-API Python Flask, который включает машинное обучение, и у меня было много разочарований при его развертывании на Heroku.
Проблема в том, что мое приложение зависит от Dlib (библиотеки), и я не могу найти способ установить его на свой сервер Heroku. Я схожу с ума, пытаясь это исправить, и могу представить других разработчиков ИИ, которые могут столкнуться с этой проблемой. Пожалуйста, помогите мне, есть ли другие серверы, поддерживающие Dlib для веб-приложения на Python.
** Вот что я сделал до сих пор. **
Я попытался не использовать Buildpack, указав dlib == 19.4.0 вместе с его зависимостями в моем файле requirements.txt, но это не удалось из-за зависимости от Boost.
Я исследовал зависимость для Dlib (https://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/);
build-essential cmake # Этот файл уже есть в моем файле requirements.txt
libgtk-3-dev
libboost-all-dev
Также,
numpy # У меня уже есть это в моем файле requirements.txt
scipy # Он уже есть в моем файле requirements.txt
sciKit-Image # Он уже есть в моем файле requirements.txt
Поэтому я включил boost == 0.1, cmake == 0.7.1 & boost-py == 1.00 в свой файл requirements.txt.
Установка не удалась, вот ** журнал сборки **
Я также пробовал использовать Heroku Buildpack, https://github.com/JAME-5/heroku16-buildpack-python3-opencv-dlib.git и https://github.com/JAME-5/heroku114-buildpack -python3-opencv-dlib.git
Это как если бы Heroku пропустил мой файл requirements.txt и попытался установить только пакеты сборки.
** Вот файл журнала: **
- - - ›Обнаружено приложение Python3 + OpenCV + DLib
- - -› Среда генерации
Получение…
Распаковка…
tar: Это не похоже на архив tar
xz: (stdin): формат файла не распознан
tar: дочерний возвратил статус 1
tar: ошибка не восстанавливается: сейчас закрывается
- - - ›Найден файл requirements.txt, устанавливаются зависимости с использованием пип
/ приложение / TMP / buildpacks / 6c499595b704aea0287ed02dc4cb12382496a45391b9e41bdf4fe9d946bbf725b480741dac04e7f02dbb412489937b86a1837abdc27865b9b20adfce0b360eef / бен / компиляции: строка 78: /app/.heroku/vendor/bin/pip3: Нет такого файла или каталога
- переменные> Создание среды - -.
- - - ›Buildpack установлен.
- - -› Обнаружение типов процессов
Procfile объявляет типы - ›web
- - -› Сжатие…
Готово: 185,4M
- - - ›Запуск…
Выпущена версия 3
« https://magicmirrordotai.herokuapp.com/ », развернутая на Heroku
Когда я затем открываю приложение, я получаю ** Ошибка приложения ** с журналом;
2017–10–07T12: 33: 47.122379 + 00: 00 heroku [web.1]: Запуск процесса командой `gunicorn app: app - log-file -`
2017–10–07T12: 33: 49.627779 + 00 : 00 app [web.1]: bash: gunicorn: команда не найдена
2017–10–07T12: 33: 49.700534 + 00: 00 heroku [web.1]: процесс завершен со статусом 127
2017 –10–07T12: 33: 49.713288 + 00: 00 heroku [web.1]: состояние изменено с начала на аварийное
Отключено от потока журнала. Могут происходить события, которых вы здесь не видите! Попытка восстановить соединение…
Я заметил, что если я развертываю приложение без включения этих пакетов сборки, у меня не будет ошибок с gunicorn, но мне понадобится dlib для моего приложения.
Мой ** файл requirements.txt: **
gunicorn
click == 6.7
cmake == 0.7.1
colorthief == 0.2.1
cycler == 0.10.0
Flask == 0.12.2 < br /> Flask-Gunicorn == 0.1.1
imutils == 0.4.3
itsdangerous == 0.24
Jinja2 == 2.9.6
jsonify == 0.5
MarkupSafe == 1.0
matplotlib == 2.0.2
numpy == 1.13.0
olefile == 0.44
opencv-python == 3.2.0.7
Подушка == 4.1.1
pymongo == 3.4.0
pyparsing == 2.2.0
python-dateutil == 2.6.0
pytz == 2017.2
шесть == 1.10.0
Werkzeug == 0.12.2
Мой ** runtime.txt **
питон-3.6.1
Мой ** Procfile **
web: gunicorn app: app - файл журнала -
Невозможно установить библиотеку Dlib на моем сервере heroku