Sei*_* E. 4 python sqlite django spatial geodjango
我正在尝试使Django的SQLite3接受空间查询。本教程建议将其添加到设置中:
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'
Run Code Online (Sandbox Code Playgroud)
产生此错误:
django.core.exceptions.ImproperlyConfigured:无法加载SpatiaLite库扩展“ mod_spatialite”,因为:找不到指定的模块。
我也尝试这样做:
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'
Run Code Online (Sandbox Code Playgroud)
如果不添加此变量,则在迁移时会收到此错误:
django.core.exceptions.ImproperlyConfigured:无法找到SpatiaLite库。确保它在您的库路径中,或在设置中设置SPATIALITE_LIBRARY_PATH。
谢谢..
5天后,足够有趣的是我遇到了同样的问题。经过一番戳后,我开始工作了:
组
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'
Run Code Online (Sandbox Code Playgroud)
并将所有DLL文件从mod_spatialite-xxx-win-x86.7z提取到您的Python安装目录中。该dll显然需要与python.exe位于同一文件夹中。我也想像根据您的python安装,mod_spatialite软件包需要32/64位。如果您缺少某些dll,则无论丢失了哪个dll文件,都会收到相同的错误“找不到指定的模块”,因此有点误导。
从http://www.gaia-gis.it/gaia-sins/下载
我将mod_spatialite稳定版本4.3.0a x86与Python 3.5.2 32位一起使用。
关于同一问题的其他主题有各种各样的答案: