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

Windows下GDAL3.6安装后Django运行manage.py check报WinError127

解决Django+GDAL WinError 127问题

以下是针对该问题的具体解决步骤:

1. 排查版本兼容性

  • Python 3.12需搭配Django 4.2及以上版本,先确认你的Django版本是否达标。
  • GDAL 3.6需与Django GIS模块版本匹配,版本不兼容会导致函数调用失败。

2. 补全OSGeo4W组件

重新运行OSGeo4W安装器,选择高级安装模式,确保勾选以下组件:

  • gdal(核心库)
  • gdal-python(GDAL的Python绑定)
  • 若通过OSGeo4W安装Django,需勾选对应版本的django,避免pip安装的Django与OSGeo4W环境冲突。

3. 配置环境变量

将OSGeo4W的bin目录(如C:\OSGeo4W\bin)添加到系统PATH的最顶部,确保系统优先调用该目录下的GDAL库。同时添加以下环境变量:

  • GDAL_DATA:指向C:\OSGeo4W\share\gdal
  • PROJ_LIB:指向C:\OSGeo4W\share\proj
    注意:设置完环境变量后必须重启命令行或IDE才能生效

4. 修复Python绑定路径

在你的Python site-packages目录(即日志中django.contrib.gis所在的目录)下新建osgeo4w.pth文件,写入OSGeo4W的bin目录路径,保存后重启Python环境,让Django能正确找到GDAL库。

5. 更换Python版本

你当前使用的是Microsoft Store版Python,这类版本容易出现环境权限和路径冲突问题。建议卸载该版本,改用Python官网下载的标准安装包,安装时勾选“Add Python to PATH”选项,再重新配置GDAL和Django环境。


附原始问题报错

运行django manage.py check时出现报错:

File "C:\users\rodri\dev\mymap\.mymap\Lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 69, in <module>
    lgdal = CDLL(lib_path)
            ^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.752.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 379, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 127] 找不到指定的程序。

完整报错日志:

...
File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\admin\apps.py", line 27, in ready
    self.module.autodiscover()
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\admin\__init__.py", line 50, in autodiscover
    autodiscover_modules("admin", register_to=site)
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\utils\module_loading.py", line 58, in autodiscover_modules
    import_module("%s.%s" % (app_config.name, module_to_search))
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.752.0_x64__qbz5n2kfra8p0\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\admin\__init__.py", line 14, in <module>
    from django.contrib.gis.admin.options import GeoModelAdmin, GISModelAdmin, OSMGeoAdmin
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\admin\options.py", line 4, in <module>
    from django.contrib.gis.admin.widgets import OpenLayersWidget
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\admin\widgets.py", line 5, in <module>
    from django.contrib.gis.gdal import GDALException
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\gdal\datasource.py", line 40, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import lgdal
  File "C:\Users\rodri\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\django\contrib\gis\gdal\libgdal.py", line 71, in <module>
    lgdal = CDLL(lib_path)
            ^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.752.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 379, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 127] 找不到指定的程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:34:57