GeoDjango 找不到 geos 库

Posted

技术标签:

【中文标题】GeoDjango 找不到 geos 库【英文标题】:GeoDjango can't find geos library 【发布时间】:2012-01-07 13:51:00 【问题描述】:

尝试启动 django 服务器时,我收到以下错误:

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

我在 Mac OS Lion 上运行 postgresql8.4。

我使用 Macports 安装 PostGIS。这是 $ port installed 显示的内容:

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

【问题讨论】:

【参考方案1】:

以防一些开发人员在 Ubuntu 上遇到这个问题,我只安装了 libgeos-lib 就解决了它

sudo apt-get install libgeos-dev

【讨论】:

【参考方案2】:

我发现我最初是通过 pip 安装 geos 的。

一旦我从以下位置下载了新的 GEOS 库: http://www.kyngchaos.com/software/frameworks#geos

然后安装它。

最后,我添加到我的路径(~/.bash_profile):

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

效果很好。

【讨论】:

【参考方案3】:

我在通过 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。 (重试前别忘了来源)

【讨论】:

【参考方案4】:

您是否安装了geos 库?

它包含在instructions for installing GeoDjango with macports 中。

【讨论】:

是的。使用 macports 运行 GeoDjango 站点上概述的安装,尽管其中一些很可能是以前安装的,因此事情的顺序不正确。

以上是关于GeoDjango 找不到 geos 库的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 安装MySQL报共享库找不到

c++文件中jni库找不到报红

.netcore类库找不到main函数

在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到

CMake Project in Visual Studio 2019

CMake Project in Visual Studio 2019