Use spatialite extension for SQLite on Windows

人走茶凉 提交于 2019-12-17 20:13:57

问题


I know that this has been asked in some similar ways before. However, all questions I found on this dealt with some very specific system setups which were not applicable for me (because so is mine).

System:

  • Windows 7 64bit
  • Python 3.4 64bit
  • sqlite3 2.6.0 (shipped with Python I guess)
  • Spatialite Windows binaries 2.3.1 (anything else of importance?)

How can I activate the spatialite extension for the ´sqlite3´ module?

What I tried (the way that other people in similar questions say it works):

  • Downloading from 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
  • unzipping all of them into the same folder on C:\
  • (also tried only putting the DLLs into that folder)
  • putting that folder into my system PATH variable

Then, running

import sqlite3

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

gives

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

What more can I try to make this work?


回答1:


you probably don't have the folder in which libspatialite-2.dll is placed in your PATH. Perhaps you can add the folder from within your Python script (I don't know any Python). Or else you could add it from the Windows properties interface.

BTW you are using a very old version of spatialite: have a look here for newer versions: https://www.gaia-gis.it/fossil/libspatialite/index



来源:https://stackoverflow.com/questions/27907818/use-spatialite-extension-for-sqlite-on-windows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!