python - 在 Ubuntu 上安装 Rasterio 失败并出现 ImportError
问题描述
我有一个在使用AWS Deep Learning AMI (DLAMI)创建的 Ubuntu 16.04.4 LTS 上运行的 AWS EC2 p2.xlarge 实例。我正在使用 keras/Tensor Flow conda 环境:
$ source activate tensorflow_p36
我正在尝试使用以下命令(源)在 Keras - Tensor Flow AMI 安装之上安装 Rasterio 和 GDAL:
$ sudo add-apt-repository ppa:ubuntugis/ppa
$ sudo apt-get update
$ sudo apt-get install python-numpy gdal-bin libgdal-dev
$ pip install rasterio
GDAL 安装似乎有效:
$ gdalinfo --version
GDAL 2.1.3, released 2017/20/01
但是,当我尝试在 Python 中导入 rasterio 时,会产生以下错误:
(tensorflow_p36) ubuntu@ip-171-11-7-03:~$ python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import rasterio
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/anaconda3/envs/tensorflow_p36_test/lib/python3.6/site-packages/rasterio/__init__.py", line 15, in <module>
from rasterio._base import (
ImportError: /usr/lib/libgdal.so.20: undefined symbol: sqlite3_column_table_name
>>>
如何清除此错误以便在 Python 中导入和使用 rasterio?
解决方案
我在尝试导入安装了 GDAL 2.x 的光栅时遇到了类似的问题。您应该尝试安装 GDAL 1.11。
推荐阅读
- c# - 如何从后台线程访问 IServiceCollection
- php - 语法错误或访问冲突:1064 - PDO 拒绝执行多个查询(包括 CREATE TEMPORARY TABLE)
- visual-studio-code - 如何在 VSCode 扩展中添加这些代码完成功能?
- webpack - Webpack、Babel 7.4.0 和 core-js 3
- aws-pinpoint - 是否可以通过 REST API 创建 Amazon Pinpoint 获利事件?
- javascript - Date.getDate() 函数是如何工作的?
- c# - 如何在 ilNumerics 中使用 ZXYPositions 正确绘制 3D 表面?
- r - 如何调用R6父类中的函数,其中父函数依赖于其他重写的辅助函数
- python - 如何将 HTML 表中的数据抓取到 Python 列表/字典中?
- barcode - Acumatica 和 code128 条码无法扫描