GeoDjango 用の Spatialite をインストールしようとして、髪をかきむしっています。
私はすでに Homebrew を使用しています。これは一般的に簡単で便利なので、最初はGeoDjangoのHomebrew の指示に従おうとしました。
しかし、これは、Spatialite などのデータベースをインストールするまでには至りません。次のステップは、Spatialite 自体を試してインストールすることですが、Django ドキュメントで提供される Homebrew 固有の手順はありません。
完璧に見えるこのチュートリアルを見つけました.GeoDjango用のSpatialiteのHomebrewおよびvirtualenvフレンドリーなインストールです。
しかし、うまくいきません... pysqlite
Homebrewからインストールした空間化されたものではなく、OS Xに付属する非空間対応バージョンのSQLiteにリンクされているようです.Djangoが試したときにこのエラーが発生しましたデータベースに接続するには:
「pysqlite ライブラリは C 拡張機能の読み込みをサポートしていません。SpatiaLite を使用するには、拡張機能の読み込みを許可するように SQLite と pysqlite の両方を構成する必要があります。」
pysqlite の作成者は、Github での助けを求める私の嘆願に応答しておらず、Google からも何も見つかりませんでした。
そこで私は製図板に戻り、GeoDjango ドキュメントの「Mac OS X 固有の手順」に従うことにしました... KyngChaos バイナリ パッケージからさまざまな geo ライブラリをインストールすることによって。
UnixImageIO
ドキュメントには「パッケージを上記の順序でインストールする」と書かれていますが、最初にインストールしないとインストールできないことがわかりましたPROJ
。Spatialite バイナリをダウンロードするためのドキュメントのリンク ( http://www.gaia-gis.it/spatialite-2.3.1/binaries.html ) が壊れているため、代わりに KyngChaos の「Spatialite Tools v4.1」を使用しました。
次のステップに進むと、次のエラーが表示されます。
$ spatialite geodjango.db "SELECT InitSpatialMetaData();"
SQLite header and source version mismatch
2013-10-17 12:57:35 c78be6d786c19073b3a6730dfe3fb1be54f5657a
2013-09-03 17:11:13 7dd4968f235d6e1ca9547cda9cf3bd570e1609ef
この時点で何が問題なのかよくわかりません。
ここSOには、 KyngChaosルートをたどり、Homebrewルートから得た同じ「拡張機能のロードを許可するには、SQLiteとpysqliteの両方を構成する必要があります」というエラーが発生する人がいます。
Django へのサポートを追加するためのこのチケット #17756を見つけました - これはすべてを簡単に実行できるはずですが、残念ながらどちらも機能しません (チケットの下部にあるコメントを参照してください)。pyspatialite
pyspatialite
pip install
ソースからすべてを手動でビルドしようとするのは少し気が進まないので、同じ問題に再び遭遇する可能性が高いと思われますが、途中で不可解なコンパイラエラー、魔法のフラグ、パスなどに関する情報をグーグルで検索するのに何時間も費やしています.
私はあきらめて、Postgres/PostGIS を使用する準備ができています。