2015-01-12 13 views
5

Ich weiß, dass dies in ähnlicher Weise bereits zuvor gefragt wurde. Alle Fragen, die ich hier fand, betrafen jedoch einige sehr spezifische Systemeinstellungen, die für mich nicht anwendbar waren (weil das meine ist).Verwenden Sie spatialite Erweiterung für SQLite unter Windows

System:

  • Windows 7 64bit
  • Python 3.4 64bit
  • sqlite3 2.6.0 (mit Python ausgeliefert I guess)
  • SpatiaLite Windows-Binaries 2.3.1 (irgendetwas anderes von Bedeutung ?)

Wie kann ich die spatialite Erweiterung für das 'sqlite3' aktivieren? Modul?

Was habe ich versucht (die Art und Weise, dass andere Menschen in ähnlichen Fragen sagen, es funktioniert):

  • Herunterladen von https://www.gaia-gis.it/spatialite-2.3.1/binaries.html:
    • libspatialite-win-x86-2.3.1.zip
    • proj -win-x86-4.6.1.zip
    • geos-win-x86-3.1.1.zip
    • libiconv-win-x86-1.9.2.zip
  • sie alle in den gleichen Ordner auf C unzipping: \
  • (auch nur versucht, die DLLs in diesen Ordner setzen)
  • diesen Ordner in mein System PATH-Variable

Dann setzen,

läuft
import sqlite3 

conn = sqlite3.connect(":memory:") 
conn.enable_load_extension(True) 
conn.execute('SELECT load_extension("libspatialite-2.dll")') 

gibt

conn.execute("SELECT load_extension('libspatialite-2.dll')") 
sqlite3.OperationalError: The specified module could not be found. 

Was kann ich noch versuchen, damit das funktioniert?

Antwort

4

Sie haben wahrscheinlich nicht den Ordner, in dem libspatialite-2.dll in Ihrem PATH platziert ist. Vielleicht können Sie den Ordner aus Ihrem Python-Skript hinzufügen (ich kenne kein Python). Oder Sie könnten es über die Windows-Eigenschaften-Schnittstelle hinzufügen.

BTW Sie eine sehr alte Version von spatialite verwenden: Schauen Sie hier für neuere Versionen: https://www.gaia-gis.it/fossil/libspatialite/index

+2

Die alte Version von spatialite war das Problem! Google hat mich bei der Suche nach Windows-Binärdateien mit Unterseiten alter spatialite-Versionen auf [https://www.gaia-gis.it] (https://www.gaai-gis.it) verwechselt, deshalb dachte ich, dass es keine mehr gibt die letzten. Außerdem wurden die Bibliothek/Binaries von 'spatialite-2 (/ 3/4) .dll' in' mod_spatialite.dll' umbenannt, was mich zu der Ansicht brachte, dass dies etwas anderes ist. Herunterladen von 'mod_spatialite-4.2.0-win-amd64.7z' von [dieser Download-Seite] (http://www.gaia-gis.it/gaia-sins/windows-bin-amd64/) und alle DLLs in' c: \ Windows \ system32' löste das Problem. – Dirk

+1

Übrigens, [diese Download-Seite auf Gaia GIS] (http://www.gaia-gis.it/gaia-sins/windows-bin-x86/) bietet Windows 32bit-Binärdateien. Ich habe fast einen ganzen Arbeitstag verloren, indem ich versucht habe, mod_spatialite selbst zu kompilieren (mach das nicht unter Windows :-() bevor ich die kompilierten Binaries gefunden habe -_- – Dirk

Verwandte Themen