Installieren Sie Spatialite für Python (GeoDjango) unter OS X

Ich reiße mir die Haare aus und versuche, Spatialite für GeoDjango zu installieren!

Ich benutze Homebrew bereits, es ist im Allgemeinen einfach und bequem, also habe ich zunächst versucht, dem zu folgenHomebrew Anweisungen für GeoDjango.

Damit wird jedoch die Installation einer Datenbank, d. H. Spatialite, beendet. Der nächste Schritt besteht darin, Spatialite selbst zu installieren, es gibt jedoch keine Homebrew-spezifischen Anweisungen, die von Django-Dokumenten bereitgestellt werden.

ich fanddieses Tutorial das sieht perfekt aus - eine Homebrew und virtualenv-freundliche Installation von Spatialite für GeoDjango.

Aber es funktioniert nicht ... es scheint, dass meinepysqlite wird mit der nicht-räumlich aktivierten Version von SQLite verknüpft, die mit OS X geliefert wird, und nicht mit der von Homebrew installierten Version mit räumlicher Ausrichtung. Bei Djangos Versuch, eine Verbindung zur Datenbank herzustellen, wird folgende Fehlermeldung angezeigt:

"Die pysqlite-Bibliothek unterstützt das Laden von C-Erweiterungen nicht. Sowohl SQLite als auch pysqlite müssen so konfiguriert sein, dass das Laden von Erweiterungen mit SpatiaLite möglich ist."

Der Autor von pysqlite hat nicht geantwortetmeine Bitten um Hilfe bei Github und ich habe nichts über Google gefunden.

Also ging ich zurück zum Zeichenbrett und beschloss, dem zu folgen"Mac OS X-spezifische Anweisungen" in den GeoDjango-Dokumenten ... indem Sie die verschiedenen Geo-Bibliotheken aus den KyngChaos-Binärpaketen installieren.

In den Dokumenten heißt es "Installieren Sie die Pakete in der oben angegebenen Reihenfolge", aber ich konnte sie nicht installierenUnixImageIO ohne zu installierenPROJ zuerst. Der Link in den Dokumenten zum Herunterladen der Spatialite-Binärdateien (http://www.gaia-gis.it/spatialite-2.3.1/binaries.html) ist kaputt und ich habe stattdessen die "Spatialite Tools v4.1" von KyngChaos verwendet.

Beim Fortfahren mit dem nächsten Schritt wird folgende Fehlermeldung angezeigt:

$ 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

Ich bin mir nicht sicher, was an diesem Punkt los ist.

Da ist noch jemandhier auf SO Wer hat die KyngChaos-Route und endet einfach mit dem gleichen"Sowohl SQLite als auch pysqlite müssen konfiguriert sein, um das Laden von Erweiterungen zu ermöglichen." Fehler habe ich trotzdem von der Homebrew Route bekommen.

ich fanddieses Ticket # 17756 zum Hinzufügenpyspatialite Unterstützung für Django -pyspatialite soll ein einfacherer Weg seinpip install alles aber leider klappt es auch nicht (siehe kommentare unten im ticket).

Ich bin ein bisschen zurückhaltend, wenn ich anfange, alles von Hand aus dem Quellcode zu erstellen, da es wahrscheinlich ist, dass ich wieder auf dieselben Probleme stoße, aber stundenlang nach Informationen über kryptische Compilerfehler, magische Flags und Pfade usw. auf dem Weg google .

Ich bin kurz davor aufzugeben und benutze einfach Postgres / PostGIS.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage