¿Instalar GDAL con Python en Windows?


92

¿Alguien puede explicar cómo instalar GDAL / OGR con Python en Windows?

Tengo Windows Vista y he intentado seguir la información en el sitio web y no parece vincular los archivos exe para mí.

¿Alguien puede describir el proceso, incluidos los enlaces a los archivos / carpetas que necesitaré?

Ahora he intentado ejecutar la configuración de gdal con minGW, pero esto también ha fallado:

GDAL_FAIL

Respuestas:


63

A menos que tenga buenas razones para no hacerlo, definitivamente recomendaría comenzar con el instalador OSGeo4W , que puede instalar múltiples versiones diferentes de GDAL y sus enlaces Python relevantes. Funciona muy bien y simplifica drásticamente la historia de implementación de Windows. Específicamente, querrás instalar pkg-gdal-python , que está dentro de 'Libs' en el árbol del instalador.


8
Así que utilicé el instalador OSGeo4W para instalar gdal y luego probé su pequeña interfaz de línea de comando, pero aún no pude en python hacer lo siguiente: import gdal
GuidoS

77
OSGEO4W instala su propia instancia de Python en la raíz OSGEO4W. Para usar Python que incluye gdal y todos los demás módulos OSGEO, abra el inicio de shell OSGEO4W> archivos de programa> osgeo4w. Inicie Python o ejecute un script de Python desde allí.
DavidF

8
Pruebafrom osgeo import gdal
DavidF

3
@scw, por favor considere resumir los ejemplos de los comentarios en su respuesta. Será más fácil juntar la información relevante en un todo coherente (en parte debido a que es posible preservar el formato del código). Vote los comentarios que usa como medio para acreditar y reconocer la fuente.
Matt Wilkie

66
¿Hay alguna manera de usar "desde osgeo import gdal" desde mi shell de python principal en lugar de usar el shell de OSGEO?
Alexis Eggermont

58

Puede descargar el paquete de rueda GDAL de los binarios no oficiales de Windows de Christoph Gohlke para paquetes de extensión de Python .

Se puede instalar desde cmd.exe usando algo como:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Debe instalar NumPy desde el mismo lugar con un comando similar)

Si bien el paquete no está desarrollado por desarrolladores de OSGeo o GDAL, es una distribución de alta calidad con soporte para las últimas versiones de GDAL compiladas para las versiones de Python de 32 y 64 bits. ¡No es necesario agregar ni administrar bibliotecas externas!

Actualizarlo incluso establece la GDAL_DATAvariable de entorno, si no está configurada, e incluye un PostgreSQLcontrolador para leer datos de PostGIS.


2
+1 He encontrado que esa página es una fuente inestimable de distribuciones de Python para Windows de 64 bits
geographika

1
Tengo dificultades con el funcionamiento de este instalador, ya que no puede detectar mis instalaciones de Python. Tengo python26 y python27 instalados, C:/Python2Xpero no puedo encontrarlo ... ¡no importa! Elija 64 bits en lugar de 32 ....
djq

Esto funcionó para mí mucho más fácil que la respuesta aceptada, ya que no quiero otra instalación de Python y Numpy.
Ahmed Fasih

Estas líneas ahora se incluyen con la instalación.
Barbarroja

gracias @Barbarossa, he actualizado esta respuesta para reflejar el estado actual del paquete.
Mike T

15

Otra opción es instalar la distribución Anaconda Python que tiene paquetes para GDAL. Si va a trabajar mucho usando GDAL con otros paquetes de Python (scipy, pandas, scikit-learn, etc.), esta podría ser una mejor opción que OSGeo4W. Por otro lado, si desea utilizar Python en combinación con una serie de paquetes de sensores remotos de código abierto y SIG (GRASS, QGIS, etc.), OSGeo4W es probablemente la mejor opción.

Puede obtener la distribución completa de Anaconda en: https://www.continuum.io/downloads que contiene muchos paquetes de Python destinados a la 'ciencia de datos' o una instalación mínima de http://conda.pydata.org/miniconda. html

Como parte de la instalación, le pedirá que agregue a la ruta principal (para que esté disponible desde cualquier terminal).

Una vez configurado, GDAL se puede instalar en un nuevo entorno utilizando:

conda create -n gdal_env -c conda-forge gdal

Luego, actívelo como muestra cuando finalice el comando. Se recomienda instalar en un nuevo entorno para evitar conflictos con otros paquetes y asegurarse de que las variables ambientales requeridas estén establecidas.

Sugerí instalar desde el canal conda-forge ( https://conda-forge.github.io/ ) ya que son muy activos para mantener sus compilaciones de GDAL actualizadas y asegurarse de que funcionen en muchas bibliotecas.

Una vez instalados, los paquetes se pueden actualizar desde el entorno utilizando:

conda update gdal

1
Este es definitivamente el método más fácil, especialmente si planea instalar otros paquetes complejos de Python (por ejemplo, scikit-learn, numpy)
bgordon

1
¡Esto es genial! Especialmente agradable b / c puede ejecutarlo a través de la línea de comando, así como a través de Python.
mmann1123

También se puede instalar yendo a "Entornos" y seleccionando el entorno que se quiere usar. Luego busque "gdal" en "Todos" los paquetes
Goncalo Peres


9

Encuentro OSGEO4W una solución pobre porque crea un universo paralelo completo, casi como una máquina virtual. Pude instalar GDAL y usarlo en Python siguiendo los pasos descritos aquí (este es el enlace proporcionado por @ sys49152).

Te envía a gisinternals.com. Tome el enlace a "versiones estables" para acceder a: http://www.gisinternals.com/release.php

Ahora debe elegir entre 32 y 64 bits y diferentes versiones del compilador de Microsoft Visual C ++. Tenga en cuenta que esto tiene que coincidir con su versión de Python, no con su sistema operativo. En mi caso, tengo una ventana de 64 bits, pero una python 2.7 de 32 bits (que se envió con ArcGIS).

Para ver lo que tiene, puede ejecutar python en la línea de comando y un mensaje como este:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Entonces necesito usar "release-1500"

Yo seleccioné: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(los números de versión de compilación cambiarán con el tiempo)

Primero descargué e instalé el "Instalador genérico para los componentes principales de GDAL": gdal-111-1500-core.msi

Y agregó la ruta y otras variables como se describe aquí .

Agregar a ruta: C:\Program Files (x86)\GDAL Crear variables ambientales: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Luego, descargué e instalé el módulo de Python para Python 2.7 GDAL-1.11.3.win32-py2.7.msi

Y después de eso, en Python pude hacer

from osgeo import gdal
ds = gdal.Open('file.tif')

etc.


Bien documentado paso a paso. Gracias.
Cotton.Rockwood

6

Sé que se mencionó el instalador de OSGEO, pero como dijo GuidoS, no funciona a menos que esté en el shell osgeow, lo cual está bien y es excelente si todo lo que está haciendo es Python básico. Lo más probable es que si no lo hace, debe reinstalar el paquete y luego debe ejecutar su aplicación / complemento desde esa carpeta o compilar todas las dependencias para gdal e instalarlo nuevamente.

Lo que funciona para mí es:

  • En PyDev / Eclipse (no es mi IDE principal), agrego la lista de bibliotecas al intérprete de Python predeterminado
  • Utilice la consola integrada para ejecutar los archivos.

3
Puede configurar o4w python como el python predeterminado del sistema, por ejemplo, ponerlo a disposición de todo, agregándolo al registro del sistema. Hay un script de Python para hacer esto en ventanas de 32 bits en trac.osgeo.org/osgeo4w/ticket/114 (64 bits deben agregarse a mano).
Matt Wilkie


5

Realmente no es tan difícil de hacer. Lo he compilado muchas veces antes de usar Visual Studio sin ningún problema. Simplemente siga las instrucciones aquí: enlace de texto .

Es bastante sencillo, solo lea el bien documentado makefile.vc y configure los directorios apropiados, especialmente Python. Una vez que está construido, debe tener un módulo Python integrado que luego puede copiar a su instalación de Python, lo que siempre he hecho de forma manual, pero probablemente haya un método más apropiado.


5

Las dos respuestas principales de @SCW y @Mike Toews son geniales. El sitio listado por Mike es para binarios no oficiales, lo cual fue muy útil cuando GDAL de 64 bits no estaba disponible fácilmente (según el momento en que escribió su respuesta), pero lo ha estado durante algún tiempo. He agregado esta respuesta alternativa aquí, ya que, aunque la he mencionado muchas veces, sigue apareciendo y esta wiki puede ser un mejor lugar para ponerla.

Si desea instalar solo los Binarios de GDAL para Python en una máquina con Windows, obtendría los instaladores del excelente Sitio Interno de SIG . Este sitio está vinculado desde la página oficial de Binarios GDAL / OGR . Esto le da acceso a GDAL a través de una instalación normal de Python sin necesidad de usar el shell osgeow. Los archivos binarios aquí se mantienen regularmente y se compilan en una variedad de versiones de Visual Studio (así que elija dependiendo de los tiempos de ejecución que haya instalado).


No es ningún problema tener varios tiempos de ejecución MSVC instalados en la misma computadora. Si necesita controladores especiales como ECW y MrSid, tenga en cuenta que hay diferentes oportunidades compiladas bajo las diferentes plataformas MSVC. Simplemente siga el informationenlace y vea las diferencias.
AndreJ


2

Yo uso FWTools en Windows XP. Incluye una instalación de Python con las bibliotecas GDAL. Después de la instalación, simplemente ejecute sus scripts Python desde el Shell de FWTools .


1
FWTools era una buena herramienta en ese momento, pero no ha recibido actualizaciones desde entonces. Sugiero cambiar a gisinternlas que todavía se mantiene activamente.
AndreJ


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.