HeroPack buildpack для Python/ Geos
Я запускаю мое приложение Django на Heroku. Я хочу использовать их плагин websolr для добавления пространственного поиска в приложение через стог сена django.
Пространственный поиск в стоге сена django зависит от библиотеки GEOS C, которая по умолчанию не развернута на heroku.
Поэтому, чтобы использовать пространственный поиск, я следовал по https://devcenter.heroku.com/articles/buildpack-binaries чтобы создать бинарный пакет GEOS.
Для развертывания бинарных файлов я разобрал сборку heroku для python и модифицировал bin/compile, включив в нее:
AWESOME_VM_BINARY="http://vulcan-dtornow.herokuapp.com/output/05391114-f314-4aa7-9aab-bc09025d4898"
mkdir -p /app/.heroku/vendor/geos
curl $AWESOME_VM_BINARY -o - | tar -xz -C /app/.heroku/vendor/geos -f -
Я добавил пользовательский пакет сборки в свое приложение, повторно развернул, но все равно не могу получить доступ к библиотеке. При запуске ls папка geos не отображается
heroku run ls /app/.heroku/vendor
Есть идеи, что мне не хватает? Спасибо за вашу помощь!
2 ответа
Другим вариантом является использование пакета сборки, который содержит только геопространственные библиотеки и объединяет его с пакетом сборки Python. Это более чистое разделение:
https://github.com/cyberdelia/heroku-geo-buildpack/
в комбинации с
https://github.com/heroku/heroku-buildpack-multi
Чтобы использовать это добавить .buildpacks
файл в репо, который выглядит примерно так
https://github.com/cyberdelia/heroku-geo-buildpack.git
https://github.com/heroku/heroku-buildpack-python.git
(использование multi buildpacks также объясняется в репозитории multi buildpack)
Вы должны быть в состоянии использовать пакет сборки GeoDjango, который уже был создан здесь