Установка dlib на героку

У меня возникли проблемы с установкой dlib, особенно версии python, в моем приложении heroku. Я скомпилировал все нормально на своем локальном компьютере, но когда я загружаю dlib.so и каталог сборки в heroku, всякий раз, когда я пытаюсь импортировать, я получаю ImportError: libboost_python-py27.so.1.54.0: cannot open shared object file: No such file or directory. Я убедился, что dlib.so находится в моем LD_LIBRARY_PATH. Что мне не хватает?


person Nicholas Bergh    schedule 14.08.2015    source источник
comment
Вы решили свою проблему?   -  person Rodrigo Ruiz    schedule 21.07.2018


Ответы (1)


Dlib требует повышения, которое может быть трудно установить успешно, как вы обнаружили.

Эмпирическое правило заключается в использовании пакетов сборки Heroku для установки таких библиотек. Чтобы установить Dlib, перейдите на панель управления Heroku, в настройки и нажмите «Добавить пакет сборки».

В зависимости от вашей версии Python вы можете использовать любой из двух пакетов сборки ниже;

Для питона 2.7.13

https://github.com/J-A-M-E-5/heroku14-buildpack-python-opencv-dlib.git

Для питона 3.6.1

https://github.com/J-A-M-E-5/heroku16-buildpack-python-opencv-dlib.git
person Nuelsian    schedule 06.10.2017
comment
Это фальшивый Дэвис Кинг. Вам нужны Boost, CMake и X11. pyimagesearch.com/2017/03/27/how-to -install-dlib - person Nuelsian; 07.10.2017
comment
X11 является необязательным, а CMake несложно установить. - person Davis King; 07.10.2017
comment
Тривиальная или нет, это зависимость. - person Nuelsian; 07.10.2017
comment
Вы также можете перечислить GCC, драйверы дисков, ядро ​​​​ОС и т. Д. В качестве зависимостей. - person Davis King; 07.10.2017
comment
Мое исследование: Адриан Роузброк, как установить dlib pyimagesearch.com /27/03/2017/how-to-install-dlib. Шаг № 1: Установите предварительные компоненты dlib Библиотека dlib имеет только четыре основных предварительных требования: Boost: ... Boost.Python: Как следует из названия этой библиотеки, Boost.Python обеспечивает взаимодействие между языками программирования C++ и Python. CMake: ... X11/XQuartx: ... - person Nuelsian; 07.10.2017
comment
Мои исследования: я написал dlib :) - person Davis King; 07.10.2017
comment
Я провел свое исследование, я требую, чтобы вы проголосовали за мой ответ, который вы проголосовали против. Более того, я предложил использовать Buildpack в качестве решения - person Nuelsian; 07.10.2017
comment
Отличная работа с сэром Длибом, но я не думаю, что вы были справедливы, понизив мой ответ. Я предоставил решение, используя Buildpacks. - person Nuelsian; 07.10.2017
comment
Ну вот. Хотя я укажу, что в OP уже установлен CMake. Их проблема почти наверняка связана со смешиванием разных версий Python. Это распространенный FAQ по dlib: dlib.net/faq.html#WhywontthePythonbindingscompilework - person Davis King; 07.10.2017
comment
Ну, или они каким-то образом частично установили boost и просто неправильно указали LD_LIBRARY_PATH, и он просто не находит boost. Хотя по тому, что они выложили, сказать сложно. На самом деле они должны попытаться поместить этот файл boost .so в свою LD_LIBRARY_PATH. - person Davis King; 07.10.2017
comment
Спасибо. Я вижу, у меня сейчас похожая проблема, пожалуйста, проверьте stackoverflow.com/questions/46622227/. Я буду очень признателен за вашу помощь, я застрял на этом уже почти неделю. Я использовал питон-3.6.1 - person Nuelsian; 07.10.2017
comment
Дэвис Кинг, пожалуйста, не могли бы вы выделить время, чтобы помочь мне здесь: stackoverflow.com/questions/46622227/ - person Nuelsian; 10.10.2017
comment
@Nuelsian, решение не имело для меня никакого значения, я сделал что-то не так? Я просто добавил вашу ссылку на Heroku, а затем снова нажал. - person Rodrigo Ruiz; 21.07.2018
comment
Пытаетесь установить dlib @ Rodrigo Ruiz? Вам лучше использовать Python где угодно для создания веб-приложений или API на Python. - person Nuelsian; 27.07.2018
comment
Итак, я попытался установить пакет appbuild, используя предоставленную вами ссылку, и получил эту ошибку: это не похоже на удаленный архив tar: xz: (stdin): формат файла не распознан удаленный: tar: ребенок вернул статус 1 удаленный: tar: ошибка не подлежит восстановлению: выход сейчас - person RAZI; 04.06.2020