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?


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.