2011-11-28 53 views
14

当试图触发了Django的服务器,我收到以下错误:GeoDjango内置找不到GEOS库

django.core.exceptions.ImproperlyConfigured: Could not import user-defined GEOMETRY_BACKEND "geos". 

我在Mac OS狮子运行postgresql8.4。

我已经使用Macports安装PostGIS。下面是$端口安装显示:

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 

回答

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。 (不要忘记在再次尝试之前获取它)

6

我发现我原本通过pip安装geos。

一旦我下载了新的GEOS库来自: http://www.kyngchaos.com/software/frameworks#geos

然后安装它。

最后,我加入到我的路径(在〜/ .bash_profile):

export PATH=/Library/Frameworks/GEOS.framework/Versions/3/unix/lib/:$PATH 

它工作得很好。

11

以防万一,一些开发商正面临着在Ubuntu这个问题,我解决它只是安装libgeos-lib的

sudo apt-get install libgeos-dev