You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac搭建Django项目运行migrate报错找不到GDAL库如何解决

解决方案

方案1:优先升级Django版本适配高版本GDAL

旧版本Django确实不支持GDAL 3.3.x系列,目前官方维护的Django版本(3.2 LTS及以上)已经完全兼容GDAL 3.3.x,直接在虚拟环境执行升级命令即可:
pip install --upgrade django
升级完成后先尝试执行python manage.py migrate验证是否正常。如果依然报找不到GDAL库的错误,在项目settings.py末尾添加GDAL路径配置:

# M1芯片Mac通过Homebrew安装的GDAL默认路径,版本号对应你安装的3.3.1_3
GDAL_LIBRARY_PATH = '/opt/homebrew/Cellar/gdal/3.3.1_3/lib/libgdal.dylib'
# 可选配置,避免后续出现GEOS库找不到的报错
GEOS_LIBRARY_PATH = '/opt/homebrew/Cellar/geos/对应geos版本号/lib/libgeos_c.dylib'

方案2:使用conda安装指定版本GDAL

如果你不想升级现有Django版本,可以弃用Homebrew安装GDAL,改用支持ARM架构的miniforge安装指定版本的GDAL:

  • 卸载现有Homebrew安装的GDAL:brew uninstall gdal
  • 安装miniforge后创建对应Python版本的虚拟环境,执行命令安装指定版本GDAL:
    conda install gdal=3.1.0
    conda会自动处理依赖和环境变量配置,安装完成后不需要额外在settings里指定库路径,直接运行项目即可。

方案3:手动编译指定版本GDAL

如果不想使用conda,也可以手动编译你需要的GDAL版本:

  • 下载GDAL 3.1.0源码包解压
  • 进入源码目录依次执行编译命令:
./configure --prefix=/usr/local/gdal310
make -j8
sudo make install
  • 编译完成后在settings.py里指定对应的库路径即可:
    GDAL_LIBRARY_PATH = '/usr/local/gdal310/lib/libgdal.dylib'

内容的提问来源于stack exchange,提问作者Dariun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:18:00