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.