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. from 表单上传文件和下载?

    from表单上传单个文件的方法. 分为三个部分,简单演示. 一部分 表单上传文件 <%-- Created by IntelliJ IDEA. User: Administrator Date: ...

  2. String 不可变

    String 源码,String 的修饰符是 final String 采用的是共享模式,被放进常量池 String strA = "abc"; String strB = &qu ...

  3. 基于Docker部署4.2 版本的zabbix监控平台

    准备工作 两台VMware 虚拟机 一台充当zabbix server(安装docker)ip:192.168.73.133 一台充当zabbix agent(安装docker)ip:192.168. ...

  4. spring filter详解

    一.Filter基本工作原理 1.Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的. 2.当在 web.xml 注册了一个 ...

  5. iOS中JavaScript和OC交互 --by 胡 xu

    在iOS开发中很多时候我们会和UIWebView打交道,目前国内的很多应用都采用了UIWebView的混合编程技术,最常见的是微信公众号的内容页面.前段时间在做微信公众平台相关的开发,发现很多应用场景 ...

  6. 安装Linux8.3.2011

    镜像地址:http://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/ 非DVD镜像安装时的安装源地址:http://mirrors.aliyun.co ...

  7. 拔掉网线后, 原本的 TCP 连接还存在吗?

    大家好,我是小林. 今天,聊一个有趣的问题:拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗? 可能有的同学会说,网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的 T ...

  8. C++职工管理系统

    目录 职工管理系统 一. 需求 二. 创建管理类 1.创建文件 2. 头文件实现 3. 源文件实现 三. 菜单功能 1. 添加成员函数 2. 功能实现 3. 测试菜单功能 四. 退出功能 1. 提供功 ...

  9. VC709E 基于FMC接口的FPGA XC7VX690T PCIeX8 接口卡

    一.板卡概述 本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片,支持PCIeX8.两组 64bit DDR3容量8GByte,HPC的FMC连接器,板卡支持各种FMC子卡 ...

  10. 利用shell为MobaXterm生成session模板

    文章目录 1.前言 2.导出MobaXterm的session模板 3.利用shell脚本生成.mxtsessions文件 4.导入到MobaXterm 5.效果图 1.前言 其实这是一件花里胡哨的事 ...