¿Importa GDAL desde la ventana de Python de ArcGIS for Desktop?

10

Estoy tratando de ejecutar algún código de Python usando la ventana de Python en ArcGIS 10.1 que usa los módulos arcpyy gdal. Sin embargo, cuando intento importar el gdalmódulo, aparece un error:

ImportError: No module named osgeo

Obviamente no puede encontrar el módulo, por lo que he agregado mi directorio principal de paquetes de sitio de Python a la sys.pathlista:

sys.path.append(r"C:\Python27\lib\site-packages")

Sin embargo, cuando intento ejecutar import osgeoo from osgeo import gdalaparece el siguiente error:

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.

He encontrado varios recursos en Internet que parecen hablar sobre problemas similares (por ejemplo, esta pregunta y esta publicación del foro , pero parecen estar desactualizados (es decir, no utilizan ArcGIS 10.1) o no preguntan lo mismo pregunta.

Por supuesto, importar osgeodesde una ventana normal que no sea Arc Python funciona bien, y he comparado sys.pathy os.environ['PATH']entre los scripts y los he actualizado para que sean los mismos, y no parece solucionar el problema.

¿Alguien tiene alguna idea de cómo puedo hacer que esto funcione?

robintw
fuente
He escuchado historias de personas que lograron que GDAL funcione en la interfaz Python de ArcGIS antes. Algunas preguntas: ¿Qué método usó para instalar GDAL y está seguro de que tiene los enlaces correctos de Windows instalados y configurados correctamente? ¿Y ha instalado los enlaces de Python en la instalación de Python de ArcGIS?
James Milner
Parece que tiene instalada otra versión (2.7) de Python además de la versión (2.6) instalada por ArcGIS 10. ¿Instaló también GDAL para 2.6 o está intentando señalarlo a la versión instalada para 2.7? ¿Es su instalación 2.7 una instalación de 64 bits?
Jason
@ Jason: Estoy usando ArcGIS 10.1, que de acuerdo con gis.stackexchange.com/questions/22271/… usa Python 2.7. ¿Sabes si eso es correcto?
robintw
1
@Robintw hay numerosas formas de instalar GDAL para python. ¿Quizás podría vincularme con el ejecutable que utilizó y cómo lo configuró?
James Milner
2
Acabo de resolver la pregunta: me las arreglé para no leer el bit de arriba donde @Jason preguntó si estaba usando una instalación de Python 2.7 de 64 bits. La respuesta es que mi instalación principal de Python 2.7 es de 64 bits, pero la instalación de Arc es de 32 bits, por lo que necesitaba instalar una versión de GDAL de 32 bits, y ahora funciona bien. Gracias a todos: agregaré mi solución final como respuesta.
robintw

Respuestas:

5

@robintw lo ha confirmado en los comentarios .


ImportError: DLL load failed: %1 is not a valid Win32 application.

Por el error, parecería que su instalación de Python 2.7 es de 64 bits. Tendrás que instalar la versión de 32 bits de Python y GDAL.

RK
fuente