24

我正在尝试pip install gdal在虚拟环境(Ubuntu)中从 pip 安装 gdal。它失败了,因为它找不到cpl_port.h

extensions/gdal_wrap.cpp:2853:22: fatal error: cpl_port.h: No such file or directory
compilation terminated

但是 GDAL 安装正确,头文件位于/usr/include/gdal/cpl_port.h. 为了让 pip 找到头文件,是否需要设置 GDAL 的一些环境变量?

4

7 回答 7

24

正如另一个线程中所建议的,在运行 pip 之前导出一些 shell 变量可以完美地工作。*_INCLUDE_PATH可以使用 找到路径gdal-config --cflags

# GDAL library must have been installed
sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip install GDAL
于 2013-06-26T03:26:51.553 回答
8

Tomyun 的回答对我有用,但前提是您必须确保安装的 GDAL-devapt-get版本与pip.

对于 Ubuntu 14.04,命令是:

# GDAL library must have been installed
sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip3 install GDAL=1.10.0
于 2014-08-13T10:20:29.373 回答
5

使用画中画

pip install --no-install GDAL

然后 cd 进入 ENV/build/GDAL

python setup.py build_ext --include-dirs=/usr/include/gdal
pip install --no-download GDAL

(来源:http ://ubuntuforums.org/showthread.php?t=1769445 )

使用构建

[gdal-bindings]
recipe = zc.recipe.egg:custom
egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib
于 2012-09-23T08:03:21.187 回答
4

取自此评论,它直接解决了我的问题

pip3 install GDAL==$(gdal-config --version) 

显式版本号应与您现有的 libgdal 版本匹配。——</p>

于 2019-08-28T12:17:38.967 回答
1

在虚拟环境中测试安装我的依赖于 GDAL 的包时,我也遇到了这个错误。在这种情况下,解决方案是将参数中的依赖关系从更改GDAL为。像这样:pygdalinstall_requiressetup.py

install_requires=['pygdal'],

于 2016-04-07T08:53:14.370 回答
1

这对我有用:

为了通过 pip 安装 gdal 2.2.4,我必须获得最新的听者版本:

sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install libgdal-dev

extensions/gdal_wrap.cpp:3172:27: fatal error: cpl_vsi_error.h: No such file or directory在此之前,即使包含正确的“包含”pip 路径,我也得到了 .

pip 安装(在 virtualenv 中):

 pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal
于 2018-04-05T14:28:22.367 回答
-3

尝试做: brew install gdal

之后再试一次。

于 2014-11-05T17:13:29.133 回答