尝试启动django服务器时,出现以下错误:
django.core.exceptions.ImproperlyConfigured: Could not import user-defined GEOMETRY_BACKEND "geos".
我在Mac OS Lion上运行postgresql8.4。
我使用Macports安装PostGIS。这是$ port安装显示的内容:
postgis @ 1.5.2_1 + postgresql84 postgis @ 1.5.2_1 + postgresql90 postgis @ 1.5.3_0 + postgresql90 postgis @ 1.5.3_0 + postgresql91(有效)
这是我在尝试确定我所拥有的PostGIS版本时得到的结果:
geodjango=# SELECT PostGIS_full_version();
ERROR: could not access file "$libdir/postgis-1.5": No such file or directory
CONTEXT: SQL statement "SELECT postgis_lib_version()"
PL/pgSQL function "postgis_full_version" line 11 at SQL statement
答案 0 :(得分:11)
为了防止一些开发人员在Ubuntu上遇到这个问题,我解决了它只是安装了libgeos-lib
sudo apt-get install libgeos-dev
答案 1 :(得分:6)
我通过MacPorts与Django结合使用postgis时遇到了同样的问题,尽管我可以毫无问题地执行select postgis_full_version();
。这个答案对我有帮助:http://pragmaticstartup.wordpress.com/2012/09/30/django-core-exceptions-improperlyconfigured-could-not-import-user-defined-geometry_backend-geos/
我的解决方案是添加
export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/opt/local/lib/
到~/.profile
。 (在再次尝试之前不要忘记采购它)
答案 2 :(得分:6)
我发现我最初通过pip安装了geos。
从我下载新的GEOS库后: http://www.kyngchaos.com/software/frameworks#geos
然后安装它。
最后,我添加到我的路径(〜/ .bash_profile):
export PATH=/Library/Frameworks/GEOS.framework/Versions/3/unix/lib/:$PATH
工作正常。
答案 3 :(得分:1)
您是否安装了geos库?
中