2026!在Windows的Python中安装GDAL包(小白能成!)

2026!在Windows的Python中安装GDAL包(小白能成!)

最近更新

2026.02.10日,GDAL发布预告:新版本将支持更多的指令!

新版本,以修复bug为主,提高稳定性!

有朋友催我赶紧更新教程,我上次更新是年前的时候了,恰好是GDAL上一个版本出来的时间。


前言

很多大气,地理,环境,生态,遥感,城市空间规划等专业的朋友,在各种终端尝试

pip install GDAL

指令时,都会遇到各种各样奇怪的报错,无论如何都安不上。说实话这条路走不通,不怪你。

因为GDAL不是标准的python库,不能直接用pip指令,进行管理操作。

实际证明,这样走不通的,请你放弃幻想。跟着这个教程一步一步的操作,你大概率是可以成功的。我会尽可能的详细,一步一步,足够缓慢,足够让每个第一次安装的朋友都能够明白。

感谢北京师范大学地理学院的朋友提供的帮助,我将把这个方法详细记录,希望可以帮助到更多朋友。


个人电脑配置说明

OS:Windows 11 Enterprise(MacOS和Linux的朋友,建议拉到文末,采用Conda指令安装)

Version:25H2 (Win10已停止维护,尽可能系统升级;Win11则不在乎具体版本,22H2,23H2,24H2,25H2全都行)

Compile Architecture:AMD64(划重点,待会儿要用)

IDE:Cursor 2.6.12(PyCharm,Conda,VSCode等,都是可以的)

Terminal:Cmd(这是系统自带的,不需要下载,每个人电脑自带)

Broswer:Chrome Version 145.0.7632.159 (Official Build) (64-bit) (能打开网页就行)

Python:Version 3.13.12 64-bit (CPython ) (自行下载好,站内有Python下载教程

NetWork:🔮,🪜,我默认各位打得开Github,站内有教程。

这个方法主要是wheel格式文件(.whl)手动下载,手动输入指令安装,我第一次只用了10分钟就完成了,但是在此之前,两天都没能安上。


具体操作

第一步:确定Python版本和编译架构

这一步很重要,GDAL包不是随便找个版本就能用,因为不同版本的GDAL包只能适配特定版本的Python,所以必须知道Python的版本。这样可以寻找到,对应版本且合适能用,的GDAL包。

就像生物疫苗,一种疫苗,它只能特异性克制一种病毒,别的都不行。有病的时候,不是随便打一针奇怪疫苗,病就能好,这好不了。

如果下载的GDAL包,与,Python和编译架构对不上,就会报错,这样绝对安不上!

按住:Win + R(键盘最下面,那个带浮标的)

 跳出弹窗如下,然后手动输入:cmd,然后点OK


在自己的Terminal(终端)输入:

python

得到如下的结果:我的Python是3.13.12的版本,各位朋友可以看看自己的。不是非要和我一样才行,你的3.10或者3.11,或者其他版本,都是可以的。

MSC v.1943 64 bit (AMD64): 这是编译器的信息,表示这个Python解释器是用Microsoft Visual C++ (MSC) 编译器的1943版本编译的,支持64位(AMD64)架构。

支持AMD64的意思,就是和ARM区分,和32位区分,GDAL版本众多,要选择符合当前电脑的。

有的人是32位的,有的人是ARM架构的,反正你得先知道自己电脑的版本。


第二步:去下载安装文件

最新GDAL下载网址:https://github.com/cgohlke/geospatial-wheels/releases

我默认你是可以打开Github类的网页,有疑问或打不开,可以在站内查询攻略

很可能没有展示完毕,再点一下,全部展开!


根据自己电脑的python版本,编译架构,下载相适配的版本。

于我而言,我该下载:gdal-3.12.2-cp313-cp313-win_amd64.whl

点击下载适合自己电脑和Python版本的GDAL文件,保存到电脑桌面上。(Github文件下载速度太慢的朋友,考虑站内搜索加速办法,我默认你会)


我现在回答一下,有的朋友问:我的Python是3.9或3.8的老版本,这里没有啊,怎么办?

答案:在这个网页往下继续翻阅,资源在以前的更新中,一个一个点开Assets,总会有你需要的版本。

还有朋友问:最近出新版本的GDAL包了,我该如何更新?

答案:能不更新就不更新,除非你的版本已经不能用了。必须采取新版本的新功能,满足我当前的工程需要!此时你才需要更新,平时没有那么多功能用得上。

更新的套路就是:卸载旧版本后,确保能够适配的新版本情况下,下载并安装。

(如何卸载?  文章后面会讲,卸载倒是很easy!)


第三步:找到正确的安装路径

我们需要找到Python软件中名为:“Scripts”的文件夹路径。很多朋友找不到这个文件夹在哪,其他攻略也没写,我来“好为人师”一次,就当献丑了。

和刚才一样,按下win+R,打开cmd终端

首先输入:(输入完按回车)

python

紧接着输入:(输入完按回车)

import sys

最后输入:(输入完按回车)

print(sys.path)

找到这个带有roaming和site-packages,将是你的安装路径:

'C:\\Users\\IU\\AppData\\Roaming\\Python\\Python313\\site-packages'


第四步:在安装路径放入文件

按住win + E ,在文件夹中,根据名称,一步一步找到它的位置,速度快只需要30妙。(我个人会采用这个方法,我比较传统)

当然还有一种简便方法,就是打开记事本,编辑一下路径,然后粘贴到位。(好朋友提供的办法)

在桌面上,将下载好的GDAL包,拖动到指定的📁内。


完成后,那儿也不要去,就在当前📁,在路径框内输入CMD。


像我这样操作,就好了,很简单。


第五步:输入正确的安装指令

按下回车↩️的效果是这样的,你需要看到类似的。

最后只需要简单的输入指令:

pip install gdal-3.12.2-cp313-cp313-win_amd64.whl

 当然具体版本,视每个人的电脑情况而定,你下了什么文件,你就把文件名替换上去即可。

pip install "复制你下载到桌面的文件名,后缀.whl,也带上"

展示安装好的截图:

得到的结果如下:成功安装好了新版本,这也说明,我的电脑和python版本可以是适配3.11.1的GDAL包。⚠️警告warning,是可以忽略的,我顶着警告⚠️,照样正常使用。而第一次安装成功的朋友,只会有一个返回说明:

Successfully installed GDAL-XXXXX

具体的,XXXXX,视每个人下载的具体版本而定,但我想祝贺你,你已经成功安装好了GDAL包!

你将会在地图解析,卫星遥感和城市规划中大展拳脚!


其他说明

验证是否能用

我们可以在IDE中新建一个python的demo文件,粘贴一下代码,看看效果。

如果有路径报错,在最后面有三个教程可以看看,解决路径问题。

from osgeo import gdal # 打开一个 GeoTIFF 格式的栅格数据文件 dataset = gdal.Open('example.tif')

 如果没有报错,那就忽略警告,继续正常使用。

在Cursor这个IDE的Terminal处输入指令:(能查看过去所有安装过的包和版本)

pip list

卸载GDAL的操作

在Cursor这个IDE的Terminal处输入指令:(能自动检测已有的GDAL包和版本)

pip uninstall gdal 

一些常见问题和解决方案

问题1.ERRR: gdal-3.11.4-cp313-cp313-win_amd64.whl is not a supported wheel on this platform.

解决办法:

1.请检查你的python是pip管理还是conda管理,conda指令更简单。
2.请检查你都python版本是不是3.13.x,确保最新的GDAL可以对应你的python大版本。
3.确定CPU编译框架是否为AMD64,有的朋友是ARM框架,这俩容易混淆,因为都是A开头的。


问题2.Unable to create process using 'C:\Users\QIZ Peng\miniconda3\python.exe "C:\Users\QIZ Peng\miniconda3\Scripts\pip-script.py" install GDAL-3.9.2-cp39-cp39-win_amd64.whl'

解决办法:

你的python管理不是pip系列,而是conda系列。conda系列更简单,只需要输入:conda install gdal 这个指令就好了,conda有标准的包。具体可以看文末其他推荐第一条。


问题3.pip list都能看到gdal,但是from osgeo import gdal还是会报错

原因:GDAL 安装了,但 Python 找不到 native DLL

GDAL 是一个 C/C++ 库,Python 包只是它的封装。如果系统找不到 GDAL 的 DLL(比如 gdal.dll),就会报错。

  • ImportError: DLL load failed: 找不到指定的模块(最典型)
  • ModuleNotFoundError: No module named '_gdal'

解决办法:

1. 卸载之后,用教程相同的办法,重新安装。

2.将osgeo添加到系统变量和环境变量的path。

  1. Win + S,搜索 “环境变量”
  2. 点击 “编辑系统环境变量”
  3. 点击 “环境变量”
  4. “系统变量”“用户变量” 中找到 Path
  5. 添加上面的 osgeo 目录路径
  6. 重启命令行或 IDE

其他推荐:

2025!使用Conda安装GDAL(一行指令就行!)-ZEEKLOG博客

GDAL简介与安装-ZEEKLOG博客

【转载】在Python中安装GDAL(最简单,最详细图文教程)_gdal下载whl-ZEEKLOG博客

GDAL库简介及函数说明-ZEEKLOG博客

GDAL — GDAL documentation

GitHub - OSGeo/gdal: GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.

Read more

贪心算法篇——万千抉择中的唯一考量,最优解追寻的跬步累积(1)

贪心算法篇——万千抉择中的唯一考量,最优解追寻的跬步累积(1)

文章目录 * 引言:在选择的海洋中 * 贪心算法的哲学:局部最优,全球最优 * 贪心算法的经典应用 * 贪心算法的局限与挑战 * 结语:智者的选择,最优的未来 引言:在选择的海洋中 在人生的旅途上,每个人都要面临无数的选择。每一个选择,都是一次抉择;每一次抉择,都是命运的交汇点。数学与计算机科学的世界里,贪心算法正是对这种“选择”的一种深刻体现。在一系列的选择面前,贪心算法如同一位睿智的旅行者,始终秉持着最优的哲学:每一次决策都应基于局部最优,以期在最后抵达全局最优的境地。 贪心算法(Greedy Algorithm),正如其名所示,是一种每次都选择当前看起来最优解的算法。这种算法策略简单却充满智慧,常常能够解决很多看似复杂的问题。它通过一种局部的、贪婪的方式,一步步走向最终解。然而,正如智慧的旅行者需要对道路有所预见一样,贪心算法也有其适用的范围,只有在满足某些条件时,它才能发挥出最优解的魅力。 在这篇报告中,我们将深入探讨贪心算法的基本理念、适用范围、经典应用,并通过具体的代码示例,揭开这一算法的神秘面纱。 贪心算法的哲学:

By Ne0inhk
数据结构:手撕堆和哈希表,字符串哈希详解----小白也能懂

数据结构:手撕堆和哈希表,字符串哈希详解----小白也能懂

🎬 博主名称:个人主页 🔥 个人专栏: 《算法通关》,《Java讲解》 ⛺️心简单,世界就简单 序言 其实是想把这篇写到上一篇里面的,但是中途困了,趴桌子上睡着了,真是没招 这篇文章,来手撕 堆和哈希表,这一般面试可能会问到,我们来了解他的思想和思路也是比较舒服的 目录 序言 堆 堆的存储 堆有两个基本操作 1,down( x ) 2 , up( x ) 操作一:插入一个数 操作二:求集合中的最小值 操作三:删除最小值 操作四:删除任意一个元素 操作五:修改任意一个元素 题目模板练习1 题目模板练习二 总结: 哈希表 存储结构:拉链法 存储结构:开放寻址法 处理冲突思路: 查找 删除 总结

By Ne0inhk
【LeetCode经典题解】:从前序和中序遍历构建二叉树详解

【LeetCode经典题解】:从前序和中序遍历构建二叉树详解

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:Java.数据结构 【前言】 二叉树构造是算法中递归分治思想的经典应用,而通过前序与中序遍历序列还原二叉树,更是力扣考察二叉树特性的高频题。前序“根左右”、中序“左根右”的遍历特性,是逐层确定根节点、划分左右子树的关键。本文将从递归分治思想出发,拆解该问题的实现逻辑,分析代码设计的核心细节。 文章目录: * 一、从前序遍历和中序遍历构造二叉树 * 二、思路分析 * 三、代码详解 * 1.代码分析 * 2.代码展示 一、从前序遍历和中序遍历构造二叉树 链接直达:从前序遍历和中序遍历构造二叉树 二、思路分析 根据递归分治思想: 前序遍历:根节点—>左子树—>右子树;找到前序序列的第一个元素就是根节点;中序遍历:

By Ne0inhk
解密链表环的起点:LeetCode 142 题

解密链表环的起点:LeetCode 142 题

解密链表环的起点:LeetCode 142 题 * 视频地址 * 🌟 引言 * 🔍 问题描述 * 🧠 解题思路回顾 * 快慢指针算法 * 数学原理 * 💻 C++代码实现 * 🛠 代码解析 * 数据结构定义 * 算法实现细节 * 🚀 性能分析 * 🐞 常见问题与调试 * 常见错误 * 调试技巧 * 📊 复杂度对比表 * 🌈 总结 视频地址 因为想更好的为大佬服务,制作了同步视频,这是Bilibili的视频地址 🌟 引言 链表环检测问题在C++中同样是一个经典面试题。本文将用C++实现LeetCode 142题"环形链表II"的解决方案,深入讲解快慢指针算法的原理和实现细节。 🔍 问题描述 给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回 nullptr。 🧠 解题思路回顾 快慢指针算法 1. 使用两个指针:slow每次走一步,fast每次走两步 2.

By Ne0inhk