問題
geodjango アプリケーションを Heroku にデプロイしようとしています。アプリケーションは実行されますが、/admin/world/worldborder/
(世界の geodjango チュートリアル アプリケーション) または独自のカスタム Spots アプリケーション (geodjango を使用) を表示しようとすると、サイトがクラッシュします。
私heroku logs
を見ると、dyno で 500 エラーが発生していることがわかります。
2012-07-20T08:16:23+00:00 heroku[router]: GET myapp.herokuapp.com/admin/spots/spot/ dyno=web.1 queue=0 wait=0ms service=654ms status=500 bytes=4922
そして、私は電子メールでこのエラーを受け取ります:
AttributeError: 'module' object has no attribute 'GeoSQLCompiler'
完全なトレースバックはここにあります
他の場所にある aws ec2 インスタンスにデータベース サーバーがあり、そのサーバーでこれらのインストール手順を実行しました。
アプリのコンテキスト
Django==1.4 ガンコーン==0.14.2
次のようにherokuアプリを作成しました
heroku create myapp --stack cedar --buildpack http://github.com/cirlabs/heroku-buildpack-geodjango/
ご覧のとおり、カスタム ビルドパックを使用してgeodjangoに必要なものをすべてインストールしています。このカスタム ビルドパックを使用せずに単に使用するheroku create myapp
と、この長いエラーが発生します。
これらもheroku構成変数に追加しました
GEOS_LIBRARY_PATH='/app/.geodjango/geos/lib/libgeos_c.so'
GDAL_LIBRARY_PATH='/app/.geodjango/gdal/lib/libgdal.so'
私がすでに試したこと
私はエラーをグーグルで調べましたが、ここに投稿が1つしかありませんでした。基本的に、データベースのバックエンドが使用するように正しく設定されていることを確認するように言います (私はこれを行いました)
'ENGINE': 'django.contrib.gis.db.backends.postgis',
また、次のように変更しようとしました。
GEOS_LIBRARY_PATH='/myapp/.geodjango/geos/lib/libgeos_c.so'
GDAL_LIBRARY_PATH='/myapp/.geodjango/gdal/lib/libgdal.so'
python manage.py runserver
このアプリケーションは、またはのいずれかを使用して、ローカルの開発マシンで正常に動作しますforeman start -f Profile.dev
geodjango ベースのアプリを Heroku で使用できないのはなぜですか? どうすれば修正できますか?