2

我在 heroku 上运行我的 django 应用程序。我想使用他们的 websolr 插件通过 django haystack 向应用程序添加空间搜索。

django haystack 中的空间搜索依赖于 GEOS C 库,默认情况下未部署在 heroku 上。

因此,为了使用空间搜索,我按照https://devcenter.heroku.com/articles/buildpack-binaries创建了 GEOS 的二进制包。

为了部署二进制文件,我为 python 分叉了 heroku buildback并修改了 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

知道我缺少什么吗?谢谢你的帮助!

4

2 回答 2

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

(multi buildpack 的使用也在 multi buildpack repo 中进行了说明)

于 2015-09-14T09:04:18.457 回答
0

您应该能够使用已在此处创建的 GeoDjango buildpack

于 2012-08-21T19:11:28.660 回答