相关疑难解决方法(0)

Python中的spaceite的Sqlite load_extension失败

我正在尝试使用Spatialite beta版本3.0,因为我在64位计算机上使用Windows 7.

sqlite3.OperationalError: The specified module could not be found.尝试加载时始终遇到可怕的错误 libspatialite-4.dll.

我尝试过以下方法:

  • put libspatialite-4.dll和所有其他dll在同一个文件夹中
  • 使用dll的完整路径
  • 将dll位置添加到'PATH'环境变量
  • 将dll位置作为Python代码的一部分附加到sys.path属性
  • 复制c:\windows\system32文件夹中的所有dll (完成重启机器)
  • 复制c:\windows\sysWoW64文件夹中的所有dll (完成重启机器,这应该是32位dll,但我还是尝试过)

我的代码如下:

import sqlite3
conn = sqlite3.connect(":memory:")
conn.enable_load_extension(True)
conn.execute('SELECT load_extension("libspatialite-4.dll")')
Run Code Online (Sandbox Code Playgroud)

注意 - 我也试过了完整的路径而没有运气.我记得在Windows XP 32位上遇到了同样的问题.我得到它的工作,但不记得我做了什么:(

UPDATE

我已经在32位Windows 7上测试了设置,并将所有dll放在System32文件夹中.因此,这表明64位设置存在一些问题.可能是我需要另一个版本的MSVC(我不认为Spatialite网站说哪个是必要的,所以我可能只需要猜测 - 我安装了MSVC2010)?

python sqlite spatialite

10
推荐指数
1
解决办法
7590
查看次数

在Windows上对SQLite使用spatialite扩展

我知道之前有过类似的问题.但是,我在此发现的所有问题都涉及一些非常具体的系统设置,这些设置不适合我(因为我的也是如此).

系统:

  • Windows 7 64位
  • Python 3.4 64位
  • sqlite3 2.6.0(我猜的是附带Python)
  • Spatialite Windows二进制文件2.3.1(其他重要的东西?)

如何激活' spatialitesqlite3'模块的扩展名?

我尝试了什么(类似问题的其他人说它有效的方式):

  • 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")')
Run Code Online (Sandbox Code Playgroud)

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

我还能尝试做些什么呢?

python windows sqlite spatialite

5
推荐指数
1
解决办法
3019
查看次数

标签 统计

python ×2

spatialite ×2

sqlite ×2

windows ×1