参考
https://zhuanlan.zhihu.com/p/517684150
https://blog.csdn.net/weishaodong/article/details/123310029
由于需要使用到python的 gdal 3.4.2 版本, 且python的gdal依赖对应版本的 libgdal-dev, 安装过程较为复杂, 故记录下来.
先安装libgdal-dev
sudo apt-get install libgdal-dev
添加环境变量
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
记录版本
gdal-config --version
我这里的版本是3.0.4, 因此只能使用python安装3.0.4的gdal
pip install gdal==3.0.4
如果不先安装对应版本的libgdal-dev, 这里会报很长一段错误
# 在python下运行
from osgeo import gdal
gdal.__version__ # 3.0.4
但是这样只能安装3.0.4的版本, 想要更高级的版本就需要使用其他办法了, 因为目前为止(2022年9月15日)apt里最高只有3.0.4版本的libgdal-dev
该部分主要参考
https://blog.csdn.net/weishaodong/article/details/123310029
在github下载对应版本: https://github.com/OSGeo/gdal/releases
我这下载的是3.4.2的

解压
tar -zxvf gdal-3.4.2.tar.gz
cd gdal-3.4.2
编译
./configure
make -j4
sudo make install
./configure 报错 configure: error: PROJ 6 symbols not found 则安装最新的 libproj-dev。libgdal-dev, 待其将所需依赖安装好后, 卸载 libgdal-dev 再编译。做一些必要的链接
sudo ln -s /usr/local/lib/libgdal.so.30.0.2 /usr/lib/libgdal.so
sudo ln -s /usr/local/lib/libgdal.so.30 /usr/lib/libgdal.so.30
不做这一步虽然能安装python对应版本的gdal, 但是后续会报错, 而且该错误较难回溯:
ImportError: libgdal.so.30: cannot open shared object file: No such file or directory
检查版本
gdalinfo --version
gdal-config --version

这时候就可以
pip install gdal==3.4.2
测试
# 在python下运行
from osgeo import gdal
gdal.__version__ # 3.4.2
大功告成!