1、最快最靠谱的是conda

conda install gdal

命令行conda/pip search gdal查看版本,选择合适的版本,例如:conda search gdal 命令行conda/pip

install gdal=版本号,注意加上版本号,否则可能安装上老版本(windows/linux都可用。例如:conda install

gdal=3.0.0

2、源码编译

(1)下载GDAL安装包(在官网上下载即可 http://www.gdal.org ,官网有下载链接但不知道为什么有时候会打不开,http://download.osgeo.org/gdal/)

wget http://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz
tar -xzvf gdal-2.0.0.tar.gz
cd gdal-2.0.0
./configure(./configure --with-python 可以让python版本的gdal在make时安装)
make
make install(如果有权限不足不能写入的话就sudo make install)

(2)将依赖的动态库和静态库添加到LD_LIBRARY_PATH环境变量中去。编辑bash的用户配置文件:

vim ~/.bashrc

添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

(3)直接运行gdalinfo,如果出现下面图片则是安装成功。

(4)让GDAL可以在python下使用

进入到/你的目录/gdal-2.0.0/swig/python目录下

python setup.py build
python setup.py install

在python环境中运行:import osgeo

可能会提示的错误:ImportError: No module named _gdal

使用sudo find / -name gdal.py查找所在位置

然后用import sys;sys.path查看是否包含当前路径,若不包含,添加到路径中,如下图所示:

find / -name gdal.py
gedit /etc/profile
/etc/profile

3、pip install直接安装pygdal

感觉网上大部分的教程都不好使,直接pip install gdal会报错,通过安装pygdal就能用。

本人ubuntu16.04

安装依赖库:

apt-get install libgdal1i libgdal1-dev libgdal-dev

现在运行gdal-config --version来获取apt-get为您提供的版本。 例如,我得到1.11.3

pip install pygdal==1.11.3

但用gdal-config --version中的任何内容替换版本。 注意:您可能会收到错误消息

Could not find a version that satisfies the requirement pygdal1.11.3

(from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1,

1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 2.1.0.3) No matching distribution found for pygdal1.11.3

如果发生这种情况,请再次运行pip install,但仍保持匹配的最高版本。

例如 在这种情况下:

pip install pygdal==1.11.3.3

安装成功后

>>> from osgeo import gdal

4、stackoverflow

记录一下:参考这个安装成功了

https://stackoverflow.com/questions/38630474/error-while-installing-gdal

gdal-config --version

Then run this commands:

pip install --download="some_path" GDAL
cd some_path
tar -xvzf GDAL-<version>.tar.gz
cd GDAL-<version>
python setup.py build_ext --include-dirs=/usr/include/gdal/

5、conda直接安装fiona

该方法是在遇到:

ImportError: libgeos-3.4.2.so: cannot open shared object file: No such

file or directory

这个问题时发现的,github上也有人遇到了相同的问题,应该是gdal的相关依赖出现了版本的问题,在把libgeos安装到3.4.2版本后还会有其他的依赖问题,可以尝试逐个解决,最方便的方法就是:

conda uninstall gdal

卸载重新安装fiona

conda install fiona

fiona: Fiona is designed to be simple and dependable. It focuses on

reading and writing data in standard Python IO style and relies upon

familiar Python types and protocols such as files, dictionaries,

mappings, and iterators instead of classes specific to OGR. Fiona can

read and write real-world data using multi-layered GIS formats and

zipped virtual file systems and integrates readily with other Python

GIS packages such as pyproj, Rtree, and Shapely. Fiona is supported

only on CPython versions 2.7 and 3.4+.

然后anaconda会把相关的库都安装好。

参考文章

Ubuntu18.04 + python 环境安装gdal的若干方法和遇到的问题

ubuntu-GDAL安装踩坑记

矩池云安装gdal五种解决方案的更多相关文章

  1. 矩池云安装/修改 cuda、cudnn、nvcc、tensorRT 教程

    在整个机器学习的过程中,配置环境一直是一个比较复杂的事情,今天介绍几种根据英伟达官方文档来配置环境的方法. 安装方案 https://gitlab.com/nvidia/container-image ...

  2. 矩池云上安装yolov4 darknet教程

    这里我是用PyTorch 1.8.1来安装的 拉取仓库 官方仓库 git clone https://github.com/AlexeyAB/darknet 镜像仓库 git clone https: ...

  3. 矩池云上安装ikatago及远程链接教程

    https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...

  4. 矩池云上编译安装dlib库

    方法一(简单) 矩池云上的k80因为内存问题,请用其他版本的GPU去进行编译,保存环境后再在k80上用. 准备工作 下载dlib的源文件 进入python的官网,点击PyPi选项,搜索dilb,再点击 ...

  5. 矩池云上TensorBoard/TensorBoardX配置说明

    Tensorflow用户使用TensorBoard 矩池云现在为带有Tensorflow的镜像默认开启了6006端口,那么只需要在租用后使用命令启动即可 tensorboard --logdir lo ...

  6. 矩池云助力科研算力免费上"云",让 AI 教学简单起来

    矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验,和高性价比的GPU集群资源.而且对同学们比较友好,会经常做一些大折扣的活动,最近双十一,全场所有的RTX 2070.Platin ...

  7. 矩池云 | Tony老师解读Kaggle Twitter情感分析案例

    今天Tony老师给大家带来的案例是Kaggle上的Twitter的情感分析竞赛.在这个案例中,将使用预训练的模型BERT来完成对整个竞赛的数据分析. 导入需要的库 import numpy as np ...

  8. 矩池云 | 搭建浅层神经网络"Hello world"

    作为图像识别与机器视觉界的 "hello world!" ,MNIST ("Modified National Institute of Standards and Te ...

  9. 矩池云 | 神经网络图像分割:气胸X光片识别案例

    在上一次肺炎X光片的预测中,我们通过神经网络来识别患者胸部的X光片,用于检测患者是否患有肺炎.这是一个典型的神经网络图像分类在医学领域中的运用. 另外,神经网络的图像分割在医学领域中也有着很重要的用作 ...

随机推荐

  1. 使用Maven导入MySQL驱动包遇到的问题

    问题描述 今天在使用Maven导入MySQL数据库驱动包依赖后,直接运行项目,出现错误. java.sql.SQLException: No suitable driver found for jdb ...

  2. 入门-k8s集群环境搭建(二)

    对于 Kubernetes 初学者,在搭建K8S集群时,推荐在阿里云或腾讯云采购如下配置:(您也可以使用自己的虚拟机.私有云等您最容易获得的 Linux 环境) 至少2台 2核4G 的服务器 Cent ...

  3. 在TCP文件传输中如何判断java流的末尾

    感谢前辈们的解答:https://bbs.csdn.net/topics/280085530 问题描述: 服务端向客户端发送数据流,服务端发完了数据不关闭流. 我在客户端读流,我无法读到-1,所以无法 ...

  4. 关于viewControllers之间的传值方式

    AViewController----Push----BViewController 1.属性 AViewController---pop----BViewController 1.代理  2.通知  ...

  5. 社交网络分析的 R 基础:(六)绘图操作

    R 语言强大的可视化功能在科学研究中非常受欢迎,丰富的类库使得 R 语言可以绘制各种各样的图表.当然这些与本章内容毫无关系,因为笔者对绘制图表了解有限,仅限于能用的程度.接下来的内容无需额外安装任何包 ...

  6. shell基础——数组

    定义数组 #小括号,空格 arr=(v1 v2 v3) arr=(`ls`) 打印数组 echo ${arr[0]} #下标从0开始 echo ${arr[*]} #整个数组 echo ${arr[@ ...

  7. Java静态变量、静态块、构造块、构造函数、main函数、普通代码块的执行顺序

    测试代码 public class SingleTest { public static String v = "StaticValue"; static { System.out ...

  8. Docker 镜像 层结构理解

    镜像到底是什么.镜像的层结构又是什么 通过docker history命令进行分析,镜像是一种其他镜像+文件+命令的组合. 这些镜像的加载.文件导入创建.命令是存在顺序关系的,所以也引出了层的概念. ...

  9. 大厂偏爱的Agent技术究竟是个啥

    搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读.问题排查.踩坑实践. hello大家好,我是小楼,今天给大家分享一个关于Agent技术的话题,也是后端启 ...

  10. 当TIME_WAIT状态的TCP正常挥手,收到SYN后…

    摘要:今天就来讨论下这个问题,在TCP正常挥手过程中,处于TIME_WAIT状态的连接,收到相同四元组的SYN后会发生什么? 本文分享自华为云社区<在TIME_WAIT状态的TCP连接,收到SY ...