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


10

나는 모두 사용는 ArcGIS 10.1 파이썬 창을 사용하여 일부 파이썬 코드를 실행하려고 arcpy및 gdal모듈. 그러나 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.