Instalar GDAL en el entorno virtualenvwrapper

Intenté instalar gdal (pip install gdal) en el entorno virtualenvwrapper pero obtuve este error:

error: command 'gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for gdal Failed to build gdal 

También probé “pip install –no-install GDAL” pero no hay opción –no-install

Qué tengo que hacer !?

Sí, instalar GDAL en un venv es un doozy. ¡Convenientemente, acabo de escribir la documentación sobre cómo hacerlo para el laboratorio de mi asesor! Si bien no soy lo suficientemente inteligente como para identificar la causa exacta de su error, puedo darle un montón de cosas para tratar de solucionarlo.

Primero, asegúrese de tener gdal instalado en el host (es decir, no en un venv). Acabo de ejecutar lo siguiente:

 sudo apt-get install libgdal1i libgdal1-dev libgdal-dev 

Ahora ejecute gdal-config --version para obtener la versión que apt-get proporcionó. Por ejemplo me sale 1.11.3

Ahora, la forma más fácil en mi experiencia de obtener los enlaces de python en un venv es usar pygdal . ¡El truco es conseguir la versión correcta! Para ello, activa tu entorno virtual y ejecuta.

 pip install pygdal==1.11.3 

pero reemplaza la versión con lo que tengas de gdal-config --version . Nota: puede obtener un error que dice

 Could not find a version that satisfies the requirement pygdal==1.11.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 2.1.0.3) No matching distribution found for pygdal==1.11.3 

Si eso sucede, ejecute de nuevo la pip install pero con la versión más alta que aún coincida. por ejemplo, en este caso ejecutaría pip install pygdal==1.11.3.3

Una vez que pygdal se haya instalado con éxito, deberías poder llamar

 >>> from osgeo import gdal 

Por favor avíseme si algo falla y haré lo que pueda para ajustar mis instrucciones. Además, si necesita ayuda con Proj.4, GEOS o Cartopy, tengo algo de experiencia allí también.

usar pygdal

 pd@asghar:~$sudo apt-get install python3-gdal pd@asghar:~$ virtualenv -p python3 test Running virtualenv with interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /home/pd/test/bin/python3 Also creating executable in /home/pd/test/bin/python Installing setuptools, pip, wheel...done. pd@asghar:~$ gdal-config --version 2.1.3 pd@asghar:~$ test/bin/pip install pygdal==2.1.3 Collecting pygdal==2.1.3 Could not find a version that satisfies the requirement pygdal==2.1.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 1.11.5.3, 2.0.0.3, 2.0.1.3, 2.0.2.3, 2.0.3.3, 2.1.0.3, 2.1.1.3, 2.1.2.3, 2.1.3.3, 2.2.0.3) No matching distribution found for pygdal==2.1.3 pd@asghar:~$ test/bin/pip install pygdal==2.1.3.3 Collecting pygdal==2.1.3.3 Collecting numpy>=1.0.0 (from pygdal==2.1.3.3) Using cached numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl Installing collected packages: numpy, pygdal Successfully installed numpy-1.13.1 pygdal-2.1.3.3 pd@asghar:~$ source test/bin/activate (test) pd@asghar:~$ python Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from osgeo import gdal >>> 

En MacOS, primero instale cerveza:

 brew install gdal 

A continuación, haga pip instalar:

 pip install gdal