2015-01-12 11 views
5

So che questo è stato chiesto in modo simile prima. Tuttavia, tutte le domande che ho trovato su questo hanno riguardato alcune impostazioni di sistema molto specifiche che non erano applicabili per me (perché lo è anche il mio).Usa estensione spazialite per SQLite su Windows

Sistema:

  • Windows 7 64bit
  • Python 3.4 a 64 bit
  • sqlite3 2.6.0 (fornito con Python immagino) binari
  • SpatiaLite di Windows 2.3.1 (niente altro di importanza ?)

Come è possibile attivare l'estensione spatialite per ilqqite3? Modulo?

Quello che ho cercato (il modo in cui le altre persone a domande simili dicono che funziona):

  • Download da 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
  • decompressione tutti nella stessa cartella in C: \
  • (provato anche solo mettere le DLL in quella cartella)
  • mettere quella cartella nel mio PATH variabile di sistema

Poi, in esecuzione

import sqlite3 

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

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

Cos'altro posso provare a fare questo lavoro?

risposta

4

probabilmente non si dispone della cartella in cui libspatialite-2.dll si trova nel PATH. Forse puoi aggiungere la cartella dal tuo script Python (non conosco nessun Python). Oppure è possibile aggiungerlo dall'interfaccia delle proprietà di Windows.

BTW si utilizza una versione molto vecchia di spatialite: Date un'occhiata qui per le versioni più recenti: https://www.gaia-gis.it/fossil/libspatialite/index

+2

La vecchia versione spatialite era il problema! Google mi ha confuso con sottopagine di vecchie versioni spazialite su [https://www.gaia-gis.it] (https://www.gaia-gis.it) durante la ricerca di file binari di Windows, ecco perché pensavo che non ci fossero più quelli recenti. Inoltre, la libreria/i binari sono stati rinominati da 'spatialite-2 (/ 3/4) .dll' a' mod_spatialite.dll' che mi ha fatto pensare che questo è qualcosa di diverso. Scaricando 'mod_spatialite-4.2.0-win-amd64.7z' da [questa pagina di download] (http://www.gaia-gis.it/gaia-sins/windows-bin-amd64/) e inserendo tutte le DLL in' c: \ Windows \ system32' ha risolto il problema. – Dirk

+1

A proposito, [questa pagina di download su Gaia GIS] (http://www.gaia-gis.it/gaia-sins/windows-bin-x86/) fornisce binari Windows a 32 bit. Ho perso quasi un'intera giornata lavorativa provando a compilare mod_spatialite da solo (non farlo su Windows :-() prima di aver finalmente trovato i binari compilati -_- – Dirk