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. 集合remove()方法相关问题

    学习集合的过程中,了解到一个有关于remove()方法的有关特性,特此记录 首先remove方法的格式: collection.remove(Object o); 这是指对集合collection内的 ...

  2. 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足

    前言 PC网页吊起支付宝支付界面报了如下这么个错误: 我明明申请的支付宝支付功能列表的签约已经生效了呀!怎么回事呢? 解决 支付宝商户中心:https://b.alipay.com/signing/p ...

  3. get方式和post方式的区别

     1.请求的URL地址不同:             post:"http://192.168.13.83:8080/itheima74/servlet/LoginServlet" ...

  4. php栈的定义及入栈出栈的实现 算法

    转自:php栈的定义及入栈出栈的实现 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去的在上层,因为上层的东西把底层的东西压住了,下层的想要出去 ...

  5. Docker之LNMP分布式容器部署

    Docker之LNMP分布式容器部署 目录 Docker之LNMP分布式容器部署 一.项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二.Linux系统基础镜像 三.Nginx 1. 建立 ...

  6. python篇第5天【变量】

    第4天加班 多个变量赋值 Python允许你同时为多个变量赋值.例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上. 您也可以为多个对象指定多个变 ...

  7. Spring系列12: `@Value` `@Resource` `@PostConstruct` `@PreDestroy` 详解

    本文内容 @Resource实现依赖注入 @Value详细使用 @PostConstruct @PreDestroy的使用 @Resource实现依赖注入 前面章节介绍了使用@Autowired注入依 ...

  8. python解释器的安装以及解释器多版本共存

    版本介绍 python创始人:gukido(龟叔) python1.X 原始版本,几乎不用 python2.x 最高版本2.7(2020年之后不再维护) python3.x 最高版本3.9(一般用3. ...

  9. Solution -「Code+#4」「洛谷 P4370」组合数问题 2

    \(\mathcal{Description}\)   Link.   给定 \(n,k\),求 \(0\le b\le a\le n\) 的 \(\binom{a}{b}\) 的前 \(k\) 大. ...

  10. rinetd基于内网TCP端口转发

    在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容易出错.在此分享另一个TCP/UDP端口转发工具rinetd,rinetd体积小巧,配 ...