我正在尝试让Spatialite与我的django应用程序一起使用,但是,我遇到了以下难题:
raise ImproperlyConfigured('The pysqlite library does not support C extension loading. '
django.core.exceptions.ImproperlyConfigured: The pysqlite library does not support C extension loading. Both SQLite and pysqlite must be configured to allow the loading of extensions to use SpatiaLite.
make: *** [syncdb] Error 1
使用ubuntu 12.04,我已经在同一用户中使用
pip
并使用sudo安装了pysqlite。我还尝试了编译pysqlite并启用了扩展名加载程序。帮助?
最佳答案
pysqlite的默认设置是在不支持扩展加载的情况下进行构建。因此,仅重建将无济于事。您需要更改设置(在setup.cfg中)。
因此,我建议下载为tarball,并查看setup.cfg:
[build_ext]
#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION
最后一行是问题。最简单的方法就是将其注释掉(在行的开头添加#),因此它看起来像:
[build_ext]
#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
# define=SQLITE_OMIT_LOAD_EXTENSION
然后根据压缩包中的说明进行重建(请参阅doc/install-source.txt)