我知道以前有人以类似的方式问过这个问题。但是,我发现的所有问题都涉及一些非常具体的系统设置,这些设置不适用于我(因为我也是)。
系统:
- Windows 7 64 位
- Python 3.4 64 位
- sqlite3 2.6.0(我猜是 Python 附带的)
- Spatialite Windows 二进制文件 2.3.1 (还有其他重要的事情吗?)
如何激活“sqlite3”模块的 spatialite
扩展?
我试过的方法(类似问题中其他人所说的方法):
- 正在从 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
- 将它们全部解压缩到 C:\上的同一个文件夹中
- (还尝试只将 DLL 放入该文件夹)
- 将该文件夹放入我的系统 PATH 变量
然后,运行
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.
我还可以尝试什么来完成这项工作?
最佳答案
您的 PATH 中可能没有放置 libspatialite-2.dll 的文件夹。 也许您可以从 Python 脚本中添加文件夹(我不懂任何 Python)。 或者您可以从 Windows 属性界面添加它。
顺便说一句,您使用的是非常旧的 spatialite 版本:请在此处查看新版本: https://www.gaia-gis.it/fossil/libspatialite/index
关于python - 在 Windows 上为 SQLite 使用 spatialite 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907818/