最近更新

在2025.06.05日,GDAL发布预告:新版本将适配pipeline和向量读写功能。

 

直到2025.06.25日,最新的版本才算发行出来。

 

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


前言

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

pip install GDAL

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

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

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

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


个人电脑配置说明

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

Version:24H2 (有的朋友是Win10版本,或者22H2,都行)

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

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

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

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

Python:Version 3.13.5 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.5的版本,各位朋友可以看看自己的。不是非要和我一样才行,你的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.11.1-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)

列表中的倒数第二个将是你的安装路径:


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

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

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

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


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


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


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

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

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

pip install gdal-3.11.1-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

其他推荐:

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

GDAL简介与安装-CSDN博客

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

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

GDAL — GDAL documentation

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90587.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90587.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/90587.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python第一次作业

# 1.技术面试题**(1)TCP与UDP的区别是什么?****答:TCP 是 “可靠但较慢” 的协议,适合对数据完整性要求高的场景;UDP 是 “快速但不可靠” 的协议,适合对实时性要求高的场景。两者互补&#xff…

Linux【大数据运维】下制作Redis绿色免安装包(一)

linux下安装Redis比较繁琐,遇到内网部署环境更是麻烦。根据经验将Redis打包一个绿色版进行使用。 大体思路,在一台正常的机器上面制造好安装包,然后上传到内网服务器,解压使用。 下载: wget https://download.redis…

89104 PCIe Switch芯片国产替代 - PCIE5.0国产AI服务器高性能扩展,支持海光/龙芯/飞腾等

以下是针对89104 PCIe Switch芯片国产替代的高性能PCIe 5.0 AI服务器扩展方案的详细分析:一、核心国产替代芯片:TL63104控制器‌技术规格‌支持PCIe 5.0全速率(32 GT/s),提供968 Lanes配置,聚合双向带宽达1…

Docker跨架构部署实操

需求场景 python项目,开发环境以及可供测试的环境为X86架构下的LINUX服务器,但正式环境需要部署在ARM架构下的麒麟服务器,且正式环境后续可能会长时间处于断网状态,需要一份跨架构的部署方案。 解决思路 在 X86 上打包、在 ARM&am…

JavaScript 树形菜单总结

树形菜单是前端开发中常见的交互组件,用于展示具有层级关系的数据(如文件目录、分类列表、组织架构等)。以下从核心概念、实现方式、常见功能及优化方向等方面进行总结。 一、核心概念 层级结构:数据以父子嵌套形式存在,如{ id: 1, children: [{ id: 2 }] }。节点:树形结…

【python实用小脚本-131】Python 实现 HTML 到 PDF 转换:解决文档处理痛点的高效工具

引言 在当今数字化办公环境中,文档格式的转换需求日益频繁。假设你是一位市场营销人员,需要将公司网站的产品介绍页面(HTML 格式)转换为 PDF 文档,以便用于线下宣传。然而,手动复制粘贴内容并调整格式不仅…

【Linux操作系统】简学深悟启示录:Linux基本指令

文章目录1.什么是操作系统?2.Xshell的使用3.常用指令3.1 ls指令3.2 pwd指令3.3 cd指令3.4 touch指令3.5 mkdir指令3.6 rmdir指令 && rm指令3.7 man指令3.8 cp指令3.9 mv指令3.10 cat指令3.11 echo指令(重定向)3.12 more指令3.13 less…

「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件

如何将 Python 爬取的数据保存为 CSV 文件 从原始网络数据到纯净 CSV - 搭建通往分析的桥梁 恭喜你!经过前面的努力,你的 Python 脚本终于成功地从一个网站上爬取了数据,一个充满信息的宝库正静静地躺在你的变量中。但接下来呢?…

qemu vcpu的创建过程

在 QEMU 中,vCPU 线程的启动流程涉及多个阶段,包括初始化、线程创建和执行逻辑。以下是基于搜索结果的详细分析: QEMU vCPU 线程的启动流程 1. 初始化阶段 设备实例化:QEMU 使用 QOM(QEMU Object Model)系统…

Spring Security架构与实战全解析

Spring security1.安全架构1. 认证who are you登陆系统:用户系统2. 授权权限管理:用户授权3. 攻击防护xss (cross-site scripting)csrf (cross-site request forgery)cors (cross-origin resource sharing)sql注入4. 扩展:权限管理模型a. RBA…

LeetCode Hot 100 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[…

Windows Edge 播放 H.265 视频指南

目录 📌前言 一 . 什么是 H.265(HEVC)? 二、为什么 Edge 默认不能播放 H.265? 三、Edge 播放 H.265 解决方案 1 . 查看显卡是否支持硬解AMD GPU Decoder Device InformationNVIDIA GPU Decoder Device Informat…

线性代数--AI数学基础复习

原文链接:Github-Funny_Mr_Zhi GNN_playground 参考:麻省理工公开课 线性代数 MIT Linear Algebra Chapter1 可以带着问题去读,线性代数到底是什么,矩阵又是什么。尽管深入学习数学需要一种抽离出现实和直观理解的高度抽象思维&…

Cursor配置DeepSeek调用MCP服务实现任务自动化

文章目录1. 任务需求2. 环境准备2.1 Cursor安装2.2 Node.js安装2.3 DeepSeek模型Key申请2.4 高德地图Key申请3. MCP服务配置3.1 Cursor配置Server方式3.1.1全局设置3.1.2 项目级别设置3.2 MCP服务接入3.2.1 高德地图MCP服务3.2.2 Mysql MCP服务3.2.3 FileSystem MCP服务3.2.4 验…

java SpringBoot数据库查询 时间范围查询

exTime的类型为varchar 存储的数据格式为yyy-MM-ddTHH:mm:ss,查询时传进来的时间格式也需要为yyy-MM-ddTHH:mm:ss格式Query(value "SELECT * FROM test_fbep fbep WHERE delFlag 1 " "AND IF(?1 ! AND ?1 IS NOT NULL, fbep.passId ?1, TRUE) " &q…

Linux 操作系统如何实现软硬件解耦?从容器与硬件接口封装谈起

在计算机系统中,软硬件解耦是提升系统灵活性、可移植性和可维护性的核心设计思想。Linux 作为开源操作系统的典范,通过数十年的演进形成了一套成熟的解耦机制。本文将从容器技术和硬件接口封装两个维度,深入解析 Linux 如何实现软硬件解耦&am…

7月10号总结 (1)

今天开始写web项目&#xff0c;画了一下登录界面&#xff0c;借鉴了一下网上的资源。 <!DOCTYPE html> <html lang"zh.CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…

Docker 高级管理 -- 容器通信技术与数据持久化

目录 第一节:容器通信技术 一&#xff1a;Docker 容器的网络模式 1&#xff1a;Bridge模式 2&#xff1a;Host模式 3&#xff1a;Container模式 4&#xff1a;None模式 5&#xff1a;Overlay 模式 6&#xff1a;Macvlan 模式 7&#xff1a;自定义网络模式 二&#xff…

链路管理和命令管理

第1章 链路管理在通信领域&#xff0c;链路&#xff08;Link&#xff09; 是两个设备之间进行数据传输的物理或逻辑路径。例如&#xff1a;网络链路&#xff1a;TCP/IP 连接、UDP 通信、WebSocket串口链路&#xff1a;RS232、RS485、CAN 总线无线链路&#xff1a;蓝牙、Wi-Fi、…

BERT模型基本原理及实现示例

BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是Google在2018年提出的预训练语言模型&#xff0c;其核心思想是通过双向Transformer结构捕捉上下文信息&#xff0c;为下游NLP任务提供通用的语义表示。 一、模型架构BERT基于Transforme…