我在heroku上运行我的django应用程序。我想使用他们的websolr插件通过django haystack将空间搜索添加到应用程序。
django haystack中的空间搜索取决于默认情况下未部署在heroku上的GEOS C库。
因此,为了使用空间搜索,我跟随https://devcenter.heroku.com/articles/buildpack-binaries创建了GEOS的二进制包。
为了部署二进制文件,我将heroku buildback for 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
知道我错过了什么吗?谢谢你的帮助!
答案 0 :(得分:1)
另一个选择是使用仅包含地理空间库的buildpack并将其与python buildpack结合使用。这是一个更清晰的分离:
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
(多buildpack包的使用也在multi buildpack repo中解释)
答案 1 :(得分:0)
您应该能够使用已创建的GeoDjango buildpack here