首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无法找到SpatiaLite库。”姜戈

“无法找到SpatiaLite库。”姜戈
EN

Stack Overflow用户
提问于 2016-09-30 09:04:25
回答 5查看 3.4K关注 0票数 5

我试图让Django的SQLite3接受空间查询。本教程建议我将其添加到设置中:

代码语言:javascript
复制
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'

它会产生此错误:

django.core.exceptions.ImproperlyConfigured:无法加载SpatiaLite库扩展"mod_spatialite“,因为:找不到指定的模块。

我也试过这样做:

代码语言:javascript
复制
SPATIALITE_LIBRARY_PATH = r'C:\\Program Files (x86)\\Spatialite\\mod_spatialite-4.3.0a-win-x86\\mod_spatialite-4.3.0a-win-x86\\mod_spatialite.dll'

如果不添加此变量,则在迁移时会收到此错误:

django.core.exceptions.ImproperlyConfigured:无法找到SpatiaLite库。确保它在您的库路径中,或者在您的设置中设置SPATIALITE_LIBRARY_PATH。

谢谢。。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-10-05 19:12:59

有趣的是,5天后,我也有了同样的问题。经过一番周旋,我终于让它发挥作用了:

设置

代码语言:javascript
复制
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'

并将mod_spatialite-x.x.x-win-x86.7z中的所有DLL文件提取到Python安装目录中。dll显然需要与python.exe位于同一个文件夹中。此外,根据您的python安装,我设想mod_spatialite包需要32/64位。如果您丢失了某个dll,那么无论缺少哪个dll文件,您都会得到相同的错误“未找到指定模块”,因此这有点误导。

http://www.gaia-gis.it/gaia-sins/下载

我使用了mod_spatialite稳定版本4.3.0a x86和Python3.5.2 32位。

关于同一问题的其他线程有各种各样的答案:

票数 6
EN

Stack Overflow用户

发布于 2018-08-25 08:08:50

在Ubuntu18.04上,添加SPATIALITE_LIBRARY_PATH = 'mod_spatialite.so'并安装了libsqlite3-mod-spatialite为我工作。

注意:答案是mod_spatialite,而对我来说,mod_spatialite.so起作用了。

票数 2
EN

Stack Overflow用户

发布于 2016-10-11 12:59:04

这是如何在Python3的虚拟环境中安装SpatiaLite (几乎):

  1. 下载cyqlite,一个启用R树的特殊SQLite构建。是GoeDjango要求
  2. 下载空闪石 (Windows二进制文件位于页面底部的粉红框中),即mod_spatialite-[version]-win-x86.7z
  3. 将mod_spatialite文件(夷平树,忽略存档中的文件夹)解压缩到Scripts文件夹中。

这部分我不喜欢,但我无法找到一个可行的解决方案,而不触及主Python3安装。

  1. 重命名或以其他方式备份c:\Python35\DLLs\sqlite3.dll
  2. cyqlite uznip sqlite3.dll文件到c:\Python35\DLLs\

荣誉:https://gis.stackexchange.com/a/169979/84121

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39787700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档