Centos7下安装python3-gdal,无需编译gdal源码

本文介绍在Centos环境下为Python3安装GDAL库的三种方法:使用Conda安装、下载源码编译安装及通过yum安装。并详细记录了每种方式的具体步骤与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求

        由于需要在服务器上运行程序,所以往往需要将Windows下写好的代码在Centos(或其他Linux)版本下编译,但是对Python3的GDAL库而言,pip install gdal要么失败,要么安装的是gdal 1.* 版本的库,所以还是需要另想他法。有些人用Conda的话,对安装gdal 比较友好,直接conda install gdal大部分是可以安装成功,并且是较新的版本。

二、解决

        (1)个人没用过的方法

        放弃pip,换conda安装。(个人习惯了pip安装python环境)

        (2)下载GDAL源码编译

        这个网上有很多Linux下编译安装GDAL的教程,我个人在Ubuntu和Centos下都编译安装过,个人感觉有几点需要注意的:

        ①注意GDAL库和Proj等其他的库最好选择版本接近的,这里可以通过查看版本发布的日期,比如都选2019年12月左右发布的版本;

        ②想用Python-gdal,编译时选项里 --with-python3一定要带上别忘了。至于为什么是--with-python3而不是--with-python,等你安装完发现Linux下自带的python2有了gdal但是python3没有的时候就知道了 =_=!

        ③编译安装好gdal之后,在编译工程目录下swig里有python的安装脚本,用python setup.py build 和 python setup.py install就可以安装对应的python-gdal。但是,安装完python还是无法from osgeo import gdal,这里大概率是因为没有给安装好的gdal配置环境变量,配置一下就好了。

        (3)yum install gdal

        以往都是利用方法(2)自己编译安装gdal,搞了几次之后比较熟悉这个流程了,但是每次换新环境或者在不同电脑上配环境时,都要重新编译和安装,就觉得很麻烦。偶尔有一天在服务器上正准备折腾gdal时,突发奇想试了试yum,竟然成功了。特此分享一下。

        ①更换好yum源

        这一步一般服务器初始配置时都会换好yum源,说白了就是更换一下当前服务器上“软件仓库”的目录,原始的国外仓库下载软件什么的比较慢,换成国内的仓库当然就比较快。网上有很多教程,本文环境是更换了aliyun的源。

        ②yum下查询gdal

        执行sudo yum search gdal

     

         很惊奇的发现,里面有gdal3版本的python安装包,既然能查询到,那么肯定就可以安装!

        ③yum安装gdal-python

        执行sudo yum install gdal32-python3.x86_64

        

 

        等待安装成功即可。

        ④验证python导入是否成功

         首先pip3 list,查看时候有了GDAL

         然后在python3里,from osgeo import gdal看是否报错。(有些人可能是import gdal)

         可以看到import正常,并且gdal的版本是3.*的,跟需要的版本一致。至此就很“轻松”、”简便“、”快速“的完成了python-gdal的安装!

三、总结

        三种安装gdal的方式都可以,看个人需求。个人觉得方法(3)最适合新手,方法(2)稍微复杂点,但是这个过程是Linux应用必走的过程,个人还是推荐大家都去自行编译一下,会学到很多东西。方法(1)个人没怎么用过,习惯用Conda的同学肯定更喜欢啦!

        最后,如果我的方法帮到了你,那么请点赞收藏多多支持!如果没有帮到你,那么也不要灰心,肯定有很多人面临着和你一样的问题,总会有办法的!

"愿生有去处,苍有归途。

        但保持飞扬。

                唯有你曾与我美好的片段

                        像钻石一样在脑海中,闪闪发光”

                                                        ——《闪光的回忆》 Escape Plan

### 安装 GDAL 3.5 的步骤 #### 准备工作 为了确保顺利安装 GDAL 3.5,在开始之前需确认系统已更新至最新状态并拥有必要的开发工具。 ```bash sudo yum update -y sudo yum groupinstall "Development Tools" -y ``` #### 安装依赖包 GDAL 需要多个依赖库来支持其功能。对于 CentOS 7 来说,这些可以通过 YUM 软件仓库获取: ```bash sudo yum install epel-release -y sudo yum install gcc-c++ python3-devel java-1.8.0-openjdk-devel \ expat-devel curl-devel geos-devel proj-devel sqlite-devel \ postgresql-devel hdf5-devel netcdf-devel openjpeg-devel \ freexl-devel libwebp-devel poppler-utils cmake pkgconfig -y ``` 以上命令涵盖了编译 GDAL 所必需的基础组件以及一些常见的栅格和矢量数据格式的支持[^1]。 #### 下载与解压源码 前往 [GDAL官方网站](https://github.com/OSGeo/gdal/releases) 或者使用 wget 命令下载指定版本的 tarball 文件: ```bash wget https://github.com/OSGeo/gDAL/archive/refs/tags/v3.5.0.tar.gz tar zxvf v3.5.0.tar.gz cd gdal-3.5.0/ ``` #### 编译前准备 在正式编译之前,建议先通过 `./configure` 进行预处理,这一步骤可以帮助检测系统的环境配置情况,并自动调整 Makefile 文件以便更好地适应当前的操作系统平台特性。 ```bash ./configure --with-python --with-java --prefix=/usr/local/gdal-3.5.0 ``` 此过程可能会花费几分钟时间完成扫描和验证各个外部库的存在性和兼容性。如果遇到任何警告提示缺少某些特定模块,则应按照指示补充相应的 RPM 包后再试一次。 #### 构建项目 一旦上述准备工作顺利完成之后就可以执行构建操作了。考虑到大型项目的复杂度,默认情况下会启用多线程加速整个流程。 ```bash make -j$(nproc) ``` #### 安装软件 当所有目标文件都生成完毕后即可将其复制到适当的位置供全局访问。 ```bash sudo make install ``` 此时应该已经完成了 GDAL 主程序及其关联资源(如 Python 绑定、Java API 等)的成功部署。不过为了让其他应用程序能够识别新版本的 GDAL 库,还需进一步设置环境变量。 #### 设置环境变量 编辑 `/etc/profile.d/gdal.sh` 添加如下内容以永久生效: ```bash export PATH=$PATH:/usr/local/gdal-3.5.0/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gdal-3.5.0/lib export CLASSPATH=$CLASSPATH:/usr/local/gdal-3.5.0/share/java/* source /etc/profile ``` 至此,GDAL 3.5 已经被正确地安装到了 CentOS 7 中。可以尝试运行简单的测试案例来检验成果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值