J'essaie d'installer Gdal de PIP pip install gdal
Dans un environnement virtuel (Ubuntu). Il échoue parce qu'il ne peut pas trouver 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
. Existe-t-il une variable d'environnement pour GDAL qui doit être définie pour que PIP pour trouver les fichiers d'en-tête?
Comme suggéré dans l'autre thread , exportant des variables de coquille avant d'exécuter Pip fonctionnant parfaitement. Un chemin 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
La réponse de Tomyun a travaillé pour moi, avec la réserve que vous devez vous assurer que la version de Gdal-Dev est 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
C'est ce qui a fonctionné pour moi:
Je devais avoir les dernières versions au coeur pour installer GDAL 2.2.4 via PIP:
Sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
Sudo apt update
Sudo apt install libgdal-dev
Avant cela, je devais avoir extensions/gdal_wrap.cpp:3172:27: fatal error: cpl_vsi_error.h: No such file or directory
, même lorsque vous y compris le chemin "Inclure" correct sur PIP.
L'installation du PIP (dans un virtualenv):
pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal
J'avais également cette erreur lors du test d'installation dans un environnement virtuel un paquet de mine qui dépend du GDAL. Dans ce cas, la solution consiste à modifier la dépendance de GDAL
à pygdal
dans le install_requires
Paramètre dans setup.py
. Ainsi:
install_requires=['pygdal'],