Django & GDAL - 找不到 GDAL 库

标签 django homebrew geospatial gdal apple-m1

我有一台带有 M1 芯片的 macbook,我正在尝试建立一个 django 项目。该项目与地理空间库 gdal 一起工作。 我在 3.3.1_3 版和我的虚拟环境 3.3.1 版中安装了带有 Homebrew 软件的 gdal

如果我输入 python manage.py migrate,我会得到一个错误:

django.core.exceptions.ImproperlyConfigured: Cloud not find the GDAL library (tried "gdal", "GDAL", "gdal3.1.0", "gdal3.0.0", "gdal2.4.0", "gdal2.3.0", "gdal2.2.0", "gdal2.1.0"). Is GDAL installed? If it is, try settings GDAL_LIBRARY_PATH in your settings.

通过 pip list 显示 3.1.0 版的 GDAL。 Django Docs 说版本 3.3.x 不受支持,但我无法使用 Homebrew 软件安装特定的 gdal 版本。

是否有不同的解决方案来启动和运行 django 项目?

最佳答案

我碰巧拥有新的 MacBook M1 Pro,但遇到了一些问题。以下是帮助我解决此问题的步骤。

第一步:首先检查是否安装了gdal和geos。

gdal-config --version

如果没有显示任何版本,则在您的终端中运行 brew install gdal

第 2 步:找出您的 gdal 安装路径。

which gdal-config

这应该在 M1 Mac OS 的情况下返回 -

/opt/homebrew/opt/gdal/bin

第 3 步:检查 gdal lib 文件是否存在于以下位置。

/opt/homebrew/opt/gdal/lib/libgdal.dylib

如果是,那就太好了!如果您也需要,请为 geos 执行相同的设置。

一旦完成,在您的 Django 项目中的 Settings.py 中, 添加以下行。

GDAL_LIBRARY_PATH = '/opt/homebrew/opt/gdal/lib/libgdal.dylib'

GEOS_LIBRARY_PATH = '/opt/homebrew/opt/geos/lib/libgeos_c.dylib'

现在应该可以了。此外,如果您已经安装并使用 PostgreSQL,它会附带 GDAL 和 GEOS 库,如果需要,您也可以提供这些路径。

关于Django & GDAL - 找不到 GDAL 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69028281/

相关文章:

php - MySQL 表有 4,000,000 条记录?

mongodb - 将变量传递到node.js mongoose find 查询

django - 你如何限制列表对象模板端,而不是 View 端

homebrew - 警告 : libxml2 is a keg-only and another version is linked to opt

c++ - "initializer_list"找不到文件

c# - C# 中的 MongoDB 地理空间索引

Django-admin collectstatic 是一个未知命令

python - “图像”对象没有属性 '_committed'

python - django.db.utils 中的 IntegrityError #1062 - 键 2 的条目重复

xcode - 如何将 OSX 上的 Xcode 更新到最新版本?