让GeoDjango Spatialite在Windows上运行
我在设置GeoDjango安装时仍然遇到问题,该安装使用Spatialite作为
Windows机器的后端.
我使用了GeoDjango安装程序并从http://www.gaia-gis.it/spatialite/binaries.html下载了预编译库,并将它们转储到我的geodjango / bin目录中. 我将我的pysqlite2安装升级到最新版本,以便可以加载扩展,并在我的设置文件中指定了SPATIALITE_LIBRARY_PATH. 当我运行manage syncdb时,我得到以下输出 C:stuff>manage.py syncdb SpatiaLite version ..: 2.3.1 Supported Extensions: - 'VirtualShape' [direct Shapefile access] - 'VirtualText' [direct CSV/TXT access] - 'VirtualNetwork [Dijkstra shortest path] - 'RTree' [Spatial Index - R*Tree] - 'MbrCache' [Spatial Index - MBR cache] - 'VirtualFDO' [FDO-OGR interoperability] - 'SpatiaLite' [Spatial SQL - OGC] PROJ.4 Rel. 4.6.1,21 August 2008 GEOS version 3.0.2-CAPI-1.4.2 但是,在为表设置索引时,我收到以下消息: ... Installing custom SQL for core.LocationHint model updateTableTriggers: "no such module: rtree" ... 我试图忽略该消息,但我的模型无法正确保存. 我有点困惑,因为似乎使用了Spatialite库并启用了“RTree”扩展,但我仍然收到错误消息. 我真的需要编译自己的sqlite库吗?有人可以提供已包含RTree的.dll吗?我做错了什么吗?任何帮助表示赞赏,谢谢! 解决方法
Hans,spatialite是SQLITE3的扩展.
SQLite3需要使用此选项进行专门编译,而且通常不会.例如,mac的默认版本不是用RTREE编译的.不过我觉得sqlite3应该包含在你的python安装& pysqlite可能使用原始版本的sqlite3或其他版本. 您可以尝试使用sqlite3.version查看python正在使用的版本. 另请注意,您必须使用正确的配置选项重新安装pysqlite模块,即在运行setup.py install之前,请更改setup.cfg: [build_ext] #define= include_dirs=PATH_TO_INCLUDE library_dirs=PATH_TO_LIBS libraries=sqlite3 #define=SQLITE_OMIT_LOAD_EXTENSION http://www.gaia-gis.it/spatialite/install-windows.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |