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

GeoDjango安装报错:找不到gdal304.dll或其依赖项

解决GeoDjango中gdal304.dll找不到的问题

问题描述

在64位Windows10系统安装OSGeo4W后,配置Django的settings.py时设置了GDAL_LIBRARY_PATH = "C:\\OSGeo4W\\bin\\gdal304.dll",但仍出现报错:

FileNotFoundError: Could not find module 'C:\OSGeo4W\bin\gdal304.dll' (or one of its dependencies). Try using the full path with constructor syntax.

确认C:\OSGeo4W\bin路径下存在该dll文件,当前环境为Python3.10.6、Django4.1。

解决方案

  • 优先使用OSGeo4W Shell运行Django
    OSGeo4W自带的Shell会自动配置所有依赖的环境变量(包括PATH、GDAL_DATA等),直接打开该Shell,切换到Django项目目录,运行python manage.py runserver,大概率能解决依赖找不到的问题。

  • 手动配置环境变量到Django项目
    如果不想用OSGeo4W Shell,在settings.py的最顶部添加以下代码,确保Python进程能找到GDAL的依赖库:

    import os
    # 把OSGeo4W的bin目录加入系统PATH
    os.environ['PATH'] = 'C:\\OSGeo4W\\bin;' + os.environ['PATH']
    # 可选:指定GDAL_DATA和PROJ_LIB路径,避免后续其他GDAL相关报错
    os.environ['GDAL_DATA'] = 'C:\\OSGeo4W\\share\\gdal'
    os.environ['PROJ_LIB'] = 'C:\\OSGeo4W\\share\\proj'
    

    注意要把这段代码放在所有Django导入语句之前。

  • 验证GDAL Python绑定是否正常
    打开OSGeo4W Shell,输入python进入交互环境,执行:

    from osgeo import gdal
    print(gdal.__version__)
    

    如果能正常输出版本号,说明GDAL的Python绑定没问题,问题出在Django启动时的环境配置;如果报错,说明OSGeo4W安装时没装对应Python版本的GDAL绑定,需要重新运行OSGeo4W安装器,选择python310-gdal(对应Python3.10)包进行安装。

  • 检查文件权限
    确保当前用户对C:\OSGeo4W目录有读取权限,避免因为权限问题导致dll无法加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:06:30