(2024.9.19)在Python的虚拟环境中安装GDAL

1、序言

没有日更、月更已经快两年时间了。在此期间,我去忙碌了两个事情:1是硕士毕业论文和博士申请。2是对人性的思考和对自己性格的中正(强势到弱势,弱到害怕冲突。再到目前的"中正"状态)这一篇博文应该是此次长远计划的开篇,问题来源是博士课题组师妹的求助,如何在Pycharm创建的虚拟环境中安装GDAL?同样本篇文章纯纯手码,第一要义还是记录,方便以后查阅;其次在于分享,若是下一届师弟师妹来了,直接发网页链接即可。

2、具体步骤

安装GDAL基础环境:Pycharm(并在项目文件里创建好虚拟环境)、Python、Windows 10。

注意:我们自身电脑是有Visual Studio,如果想一次安装成功,建议安装一下VS2019或更高版本,安装时选择"使用C++的桌面开发"。同时,这对于安装深度学习使用的CUDA很有用处。

A、确认Python版本

我的版本是3.9.7.确认方法是:

点击"开始"->找到Python文件夹,并点击IDLE,打开后即可看到Python版本号。实际上知道大致版本即可,比如我的"3.9 64位 AMD64"。

B、下载GDAL

到GDAL网址上下载对应Pytho版本的GDAL。之前是有个直接下载的网页的,目前"走丢了"。我根据自己Python版本找到了别的博主发的百度网盘库,你们可以下载(最好点到原文,给他点个赞!):

Python第三方GDAL库安装(离线库下载资源)_gdal离线安装-CSDN博客

https://pan.baidu.com/s/18loUH7TdVqS8WyFGoUt_Ow?pwd=xmph

提取码:xmph

既然是匹配Python版本,那"匹配"一词,现在的年轻人应该是都熟悉的,就是"CP"。所以我们只需要找"xxx_CP39-win_amd64.whl"的文件下载就好。

此处附上长时间有效的百度网盘链接:

链接:https://pan.baidu.com/s/1MEUlEJX4-P9VdNlhvJzMFw
提取码:75sx

最后,可以从这里下载对应版本的GDAL:

Releases · cgohlke/geospatial-wheels · GitHub

C、安装GDAL

将下载的GDAL文件复制到项目对应的目录下,举个例子:

假设你的终端打开后显示的地址是:(venv) C:\Users\XXXXX\Desktop\GDAL>

那你就把GDAL文件放在该目录下,并在终端里(确定进入虚拟环境后)使用如下命令安装:

python 复制代码
pip install GDAL-3.8.4-cp39-cp39-win_amd64.whl

当然install后面跟着的文件名称得和你下载的文件名称一致。

D、验证是否安装成功

在虚拟环境中创建一个新的Python文件,并输入下面的代码:

python 复制代码
from __future__ import print_function
from osgeo import gdal
print("GDAL's version is:" + gdal.__version__)
print(gdal)

如果能显示出GDAL版本,来源路径,那说明就安装成功了。

numpy和GDAL有版本关联,注意自己的numpy版本!!!

3、结语

熟悉配置环境的各位都知道,按理说我们只需要更换一个软件源下载各种软件包,何须手动下载如此麻烦?GDAL包可能就是这样,我之前给多位同学配置过GDAL的包,只听说过Conda配置时一条命令就好。若以后有更方便的方法欢迎留言交流。

相关推荐
迅猛龙办公室5 小时前
python实现倒序输出数字
开发语言·python
夏幻灵11 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
程序猿编码11 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
bkspiderx12 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆13 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光13 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园13 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西14 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨14 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
全栈练习生14 小时前
AI Agent 沙箱
python·ai