Zainstaluj Spatialite dla python (GeoDjango) na OS X

Wyrywam sobie włosy próbując zainstalować Spatialite dla GeoDjango!

Korzystam już z Homebrew, jest to na ogół łatwe i wygodne, więc początkowo próbowałem śledzićInstrukcje Homebrew dla GeoDjango.

Ale to powstrzymuje instalację jakiejkolwiek bazy danych, tj. Spatialite. Następnym krokiem jest próba zainstalowania samego Spatialite, ale nie ma instrukcji specyficznych dla Homebrew dostarczanych przez dokumenty Django.

znalazłemten samouczek który wygląda idealnie - instalacja Homebrew i Virtualalenv Spatialite dla GeoDjango.

Ale to nie działa ... wygląda na to, że mójpysqlite jest powiązany z wersją SQLite nieobsługującą przestrzeni, która pochodzi z OS X, a nie z Spatial-ised, który zainstalowałem z Homebrew, otrzymuję ten błąd, gdy Django próbował połączyć się z db:

„Biblioteka pysqlite nie obsługuje ładowania rozszerzenia C. Zarówno SQLite, jak i pysqlite muszą być skonfigurowane, aby umożliwić ładowanie rozszerzeń w celu użycia SpatiaLite.”

Autor pysqlite nie odpowiedziałmoje prośby o pomoc na Github i niczego nie znalazłem przez Google.

Wróciłem więc do deski kreślarskiej i postanowiłem podążać za„Instrukcje specyficzne dla systemu Mac OS X” w dokumentach GeoDjango ... instalując różne biblioteki geo z pakietów binarnych KyngChaos.

Dokumenty mówią: „Zainstaluj pakiety w kolejności, w jakiej są wymienione powyżej”, ale okazało się, że nie mogę zainstalowaćUnixImageIO bez instalacjiPROJ pierwszy. Link w dokumentach do pobrania binariów Spatialite (http://www.gaia-gis.it/spatialite-2.3.1/binaries.html) jest zepsuty, więc zamiast tego użyłem „Spatialite Tools v4.1” z KyngChaos.

Przechodząc do następnego kroku otrzymuję ten błąd:

$ 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

Nie jestem pewien, co w tym momencie jest nie tak.

Jest ktoś innytutaj na SO kto przeszedł trasę KyngChaos i kończy z tym samym„Zarówno SQLite, jak i pysqlite muszą być skonfigurowane, aby umożliwić ładowanie rozszerzeń” błąd, który i tak dostałem z trasy Homebrew.

znalazłemten bilet # 17756 za dodaniepyspatialite wsparcie dla Django -pyspatialite ma być łatwiejszym sposobempip install wszystko, ale niestety też nie działa (patrz komentarze w dolnej części biletu).

Jestem trochę niechętny, aby zacząć próbować budować wszystko ze źródła ręcznie, ponieważ wydaje się prawdopodobne, że po raz kolejny natknę się na te same problemy, ale spędzając godziny na Googlingu, aby uzyskać informacje o błędnych kompilatorach, magicznych flagach i ścieżkach itp. .

Jestem gotów zrezygnować i po prostu użyć Postgres / PostGIS.

questionAnswers(3)

yourAnswerToTheQuestion