ArcGIS for Desktop의 Python 창에서 GDAL을 가져 오시겠습니까?


10

나는 모두 사용는 ArcGIS 10.1 파이썬 창을 사용하여 일부 파이썬 코드를 실행하려고 arcpygdal모듈. 그러나 gdal모듈을 가져 오려고 하면 오류가 발생합니다.

ImportError: No module named osgeo

분명히 모듈을 찾을 수 없으므로 기본 python site-packages 디렉토리를 sys.path목록에 추가했습니다.

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

그러나 시도하고 실행 import osgeo하거나 from osgeo import gdal다음 오류가 발생합니다.

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.

인터넷에서 비슷한 문제 (예 : 이 질문포럼 게시물) 에 대해 이야기하는 것처럼 보이는 다양한 리소스를 찾았 지만 오래된 것 같습니다 (예 : ArcGIS 10.1을 사용하지 않는 것). 질문.

물론, osgeo일반적인 비 아크 파이썬 창에서 가져 오기 는 잘 작동 하며 스크립트를 비교 sys.path하고 os.environ['PATH']스크립트 사이를 동일하게 유지하도록 업데이트했으며 문제를 해결하지 않는 것 같습니다.

누구든지 내가 어떻게 작동하는지 알 수 있습니까?


사람들이 GDAL이 ArcGIS Python 인터페이스에서 작동하도록하는 이야기를 들었습니다. 몇 가지 질문 : GDAL을 설치하는 데 어떤 방법을 사용했으며 올바른 Windows 바인딩이 설치되어 있고 올바르게 설정되어 있습니까? 그리고 Python 바인딩을 ArcGIS Python 설치에 설치 했습니까?
James Milner

ArcGIS 10에서 설치 한 버전 (2.6) 외에 다른 버전 (2.7)의 Python이 설치되어있는 것 같습니다. 2.6 용 GDAL도 설치 했습니까? 아니면 2.7 용으로 설치된 버전을 가리 키려고합니까? 2.7이 64 비트 설치입니까?
Jason

@ 제이슨 : 내가 따라는 ArcGIS 10.1, 사용하고 gis.stackexchange.com/questions/22271/... 파이썬 2.7를 사용합니다. 그것이 맞는지 아십니까?
robintw

1
@Robintw 파이썬 용 GDAL을 설치하는 방법은 여러 가지가 있습니다. 아마도 내가 사용한 실행 파일과 설정 방법에 나를 연결할 수 있습니까?
James Milner

2
방금 질문을 해결했습니다. @ Jason이 Python 2.7의 64 비트 설치를 사용하고 있는지 물었던 위의 비트를 읽지 못했습니다. 대답은 내 주요 Python 2.7 설치는 64 비트이지만 Arc의 설치는 32 비트이므로 32 비트 버전의 GDAL을 설치해야했으며 이제는 정상적으로 작동합니다. 모두 감사합니다-최종 솔루션을 답변으로 추가하겠습니다.
robintw

답변:


5

@robintw 님이 댓글 에서 확인했습니다 .


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

오류로 인해 Python 2.7 설치가 64 비트 인 것 같습니다. 32 비트 버전의 Python 및 GDAL을 설치해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.