Importando GDAL da janela Python do ArcGIS for Desktop?

10

Eu estou tentando executar algum código Python usando a janela Python no ArcGIS 10.1 que usa tanto o arcpye gdalmódulos. No entanto, quando tento importar o gdalmódulo, recebo um erro:

ImportError: No module named osgeo

Obviamente, ele não consegue encontrar o módulo, então adicionei meu diretório principal de pacotes de sites python à sys.pathlista:

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

No entanto, quando tento executar import osgeoou from osgeo import gdalrecebo o seguinte erro:

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.

Encontrei vários recursos na internet que parecem falar sobre problemas semelhantes (por exemplo, esta pergunta e esta postagem no fórum , mas eles parecem desatualizados (ou seja, não usam o ArcGIS 10.1) ou não fazem a mesma pergunta questão.

Obviamente, a importação osgeode uma janela normal não-Arc Python funciona bem, e eu comparei sys.pathe os.environ['PATH']entre os scripts e os atualizei para que sejam iguais, e isso não parece resolver o problema.

Alguém tem alguma idéia de como eu posso fazer isso funcionar?

robintw
fonte
Já ouvi histórias de pessoas fazendo o GDAL trabalhar na interface python do ArcGIS antes. Algumas perguntas: Qual método você usou para instalar o GDAL e tem certeza de que as ligações corretas do Windows estão instaladas e configuradas corretamente? E você instalou as ligações python na instalação python do ArcGIS?
22812 James Milner
Parece que você tem outra versão (2.7) do Python instalada, além da versão (2.6) instalada pelo ArcGIS 10. Você instalou o GDAL para 2.6 também ou está tentando apontá-lo para a versão instalada para o 2.7? O seu 2.7 instala uma instalação de 64 bits?
Jason
@ Jason: Estou usando o ArcGIS 10.1, que de acordo com gis.stackexchange.com/questions/22271/… usa o Python 2.7. Você sabe se isso está correto?
robintw
1
@ Robintw, existem várias maneiras de instalar o GDAL para python. Talvez você possa me vincular ao executável usado e como configurá-lo?
21812 James Milner
2
Acabei de resolver a questão - não consegui ler o bit acima, onde @Jason perguntou se eu estava usando uma instalação de 64 bits do Python 2.7. A resposta é que minha instalação principal do Python 2.7 é de 64 bits, mas a instalação do Arc é de 32 bits, então eu precisava instalar uma versão de 32 bits do GDAL e agora funciona bem. Obrigado a todos - vou adicionar minha solução final como resposta.
robintw

Respostas:

5

@robintw confirmou nos comentários .


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

Pelo erro, parece que sua instalação do Python 2.7 é de 64 bits. Você precisará instalar a versão de 32 bits do Python e GDAL.

RK
fonte