繁体   English   中英

通过pip安装时,Python GDAL包缺少头文件

[英]Python GDAL package missing header file when installing via pip

我正在尝试从虚拟环境(Ubuntu)中的pip pip install 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 是否有一些GDAL的环境变量需要设置才能让pip找到头文件?

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

# 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

Tomyun的回答对我有用,条件是你必须确保通过apt-get安装的GDAL-dev版本与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

使用PIP

pip install --no-install GDAL

然后进入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

使用Buildout

[gdal-bindings]
recipe = zc.recipe.egg:custom
egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib

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

install_requires=['pygdal'],

这对我有用:

我必须通过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

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

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

显式版本号应与您现有的libgdal版本匹配。 -

尝试做:brew install gdal

之后再试一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM