Python paquet GDAL fichier d'en-tête manquant lors de l'installation via pip

j'essaie d'installer gdal à partir de pip pip install gdal dans un environnement virtuel (Ubuntu). Il échoue parce qu'il ne trouve pas cpl_port.h

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

cependant GDAL est installé correctement et le fichier d'en-tête est situé à /usr/include/gdal/cpl_port.h. Y a-t-il une variable d'environnement pour GDAL qui doit être définie pour que pip puisse trouver les fichiers d'en-tête?

18
demandé sur Kevin 2012-07-05 02:53:00

6 réponses

comme suggéré dans l'autre fil, exporter quelques variables shell avant d'exécuter pip fonctionnait parfaitement. Un chemin d'accès pour *_INCLUDE_PATH peut être trouvé avec 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
20
répondu tomyun 2017-04-13 12:33:44

la réponse de Tomyun a fonctionné pour moi, avec la condition que vous devez vous assurer que la version de GDAL-dev installée via apt-get correspond à la version installée par pip.

Pour Ubuntu 14.04, les commandes sont:

# 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
6
répondu Neil Smith 2014-08-13 11:35:37

en utilisant PIP:

pip install --no-install GDAL

puis cd dans ENV / build / GDAL

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

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

Utiliser Buildout:

[gdal-bindings]
recipe = zc.recipe.egg:custom
egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib
5
répondu leplatrem 2012-09-23 08:03:21

j'ai aussi eu cette erreur en testant l'installation dans un environnement virtuel d'un paquet qui dépend de GDAL. Dans ce cas, la solution est de changer la dépendance au de GDALpygdal dans le install_requires paramètre setup.py. Comme ceci:

install_requires=['pygdal'],

1
répondu Luís de Sousa 2016-04-07 09:02:05

C'est ce qui a fonctionné pour moi:

j'ai eu pour obtenir les dernières hearder versions pour l'installation de gdal 2.2.4 par pip:

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

Avant cela, je recevais extensions/gdal_wrap.cpp:3172:27: fatal error: cpl_vsi_error.h: No such file or directory, même en incluant le bon chemin "include" vers pip.

Le pip de l'installation (dans un virtualenv):

 pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal
0
répondu Scott Staniewicz 2018-04-05 14:28:22

essayez de faire: brew install gdal

après cela, réessayez.

-3
répondu Yariv Katz 2014-11-05 17:13:29