我正试图为GeoDjango安装Spatialite!在OS X上为python(GeoDjango)安装Spatialite
我已经在使用自制软件,它一般都很简单方便,所以我最初试图按照GeoDjango的Homebrew instructions。
但是,这并没有安装任何数据库,即Spatialite。下一步是尝试安装Spatialite本身,但是没有提供Django文档的特定于Homebrew的说明。
我发现this tutorial看起来很完美 - GeoDjango的一个自制和virtualenv友好的Spatialite安装。
但它不起作用......看起来我的pysqlite
与OS X附带的SQLite的非空间启用版本链接,而不是从Homebrew安装的Spatial-ised版本,我得到Django尝试连接到数据库时发生此错误:
“pysqlite库不支持C扩展加载。必须配置SQLite和pysqlite以允许加载扩展以使用SpatiaLite。”
pysqlite的作者没有回复my pleas for help on Github,我还没有通过Google找到任何东西。
所以我回到绘图板并决定在GeoDjango文档中关注"Mac OS X-specific instructions" ...通过安装KyngChaos二进制包中的各种地理库。
文档中提到“按照上面列出的顺序安装软件包”,但是我发现我无法安装UnixImageIO
而没有先安装PROJ
。文档中下载Spatialite二进制文件(http://www.gaia-gis.it/spatialite-2.3.1/binaries.html)的链接已被破坏,因此我使用了KyngChaos的“Spatialite Tools v4.1”。
进行到下一步我得到这个错误:
$ spatialite geodjango.db "SELECT InitSpatialMetaData();"
SQLite header and source version mismatch
2013-10-17 12:57:35 c78be6d786c19073b3a6730dfe3fb1be54f5657a
2013-09-03 17:11:13 7dd4968f235d6e1ca9547cda9cf3bd570e1609ef
不是真的知道什么是错在这一点上。
有别人here on SO谁已经在KyngChaos路线,只是结束了与同“无论SQLite和pysqlite必须被配置为允许扩展装载”错误,我从家酿的路线了呢。
我发现this ticket #17756添加pyspatialite
支持的Django - pyspatialite
应该是pip install
一切更简单的方法,但遗憾的是它不工作,要么(见朝票的底部评论)。
我有点不愿意开始尝试从源代码构建所有东西,因为它似乎可能会再次遇到同样的问题,但花费数小时搜索有关隐蔽编译器错误,魔法标志和路径的信息等等。
我即将放弃使用Postgres/PostGIS。
谢谢,但你需要阅读我的问题中的一切,我的问题比刚才Django文档(我已经完成)更复杂 – Anentropic
我错过了什么部分,对不起不完整的答案 – MZaragoza
我已经建立了pysqlite扩展支持启用,但它似乎与我的SQLite的系统安装,而不是我通过自制安装的GIS启用的SQLite链接...问题详细在这里https://github.com/ ghaering/pysqlite /问题/ 60 – Anentropic