(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配置时一条命令就好。若以后有更方便的方法欢迎留言交流。

相关推荐
Frank Castle7 分钟前
【C语言】详解C语言字节打包:运算符优先级、按位或与字节序那些坑
c语言·开发语言
kk哥88998 分钟前
分享一些学习JavaSE的经验和技巧
java·开发语言
橙露21 分钟前
时间序列分析实战:用 Python 实现股票价格预测与风险评估
人工智能·python·机器学习
2501_9403152624 分钟前
【无标题】1.17给定一个数将其转换为任意一个进制数(用栈的方法)
开发语言·c++·算法
神云瑟瑟25 分钟前
看langchain理解python中的链式调用
python·langchain·链式调用
栈与堆25 分钟前
LeetCode 21 - 合并两个有序链表
java·数据结构·python·算法·leetcode·链表·rust
CCPC不拿奖不改名31 分钟前
循环神经网络RNN:整数索引→稠密向量(嵌入层 / Embedding)详解
人工智能·python·rnn·深度学习·神经网络·自然语言处理·embedding
鹤入云霄33 分钟前
基于Python的空气质量监测系统
python
lagrahhn35 分钟前
Java的RoundingMode舍入模式
java·开发语言·金融
云上凯歌1 小时前
01 GB28181协议基础理解
java·开发语言