Імпортує GDAL з вікна Python ArcGIS для робочого столу?


10

Я намагаюся запустити деякий код Python, використовуючи вікно Python в ArcGIS 10.1, яке використовує arcpyі gdalмодулі, і модулі. Однак, коли я намагаюся імпортувати gdalмодуль, я отримую помилку:

ImportError: No module named osgeo

Очевидно, він не може знайти модуль, тому я додав до sys.pathсписку основний каталог сайтів пакунків python :

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із звичайного вікна без Arc Python працює чудово, і я порівняв sys.pathі os.environ['PATH']між сценаріями, і оновив їх так, щоб вони були однаковими, і це, здається, не вирішило проблему.

Хтось має ідею, як я можу змусити це працювати?


Я чув, як люди раніше отримували GDAL працювати в інтерфейсі пітону ArcGIS. Кілька питань: Який метод ви використовували для встановлення GDAL, і чи впевнені ви, що встановлені правильні прив'язки для Windows та правильно налаштовані? А ви встановили прив'язки пітона до встановлення ArcGIS python?
Джеймс Мілнер

Схоже, у вас встановлена ​​інша версія (2.7) Python на додаток до версії (2.6), встановленої ArcGIS 10. Ви також встановили GDAL для 2.6, чи намагаєтесь вказати на версію, встановлену для 2.7? Ваш 2.7 встановити 64-бітну установку?
Джейсон

@Jason: Я використовую ArcGIS 10.1, який згідно з gis.stackexchange.com/questions/22271/… використовує Python 2.7. Чи знаєте ви, чи це правильно?
robintw

1
@Robintw існує безліч способів встановлення GDAL для python. Можливо, ти міг би зв’язати мене із використовуваним виконавчим файлом та як його налаштувати?
Джеймс Мілнер

2
Я щойно вдалося вирішити питання - мені вдалося пропустити читання трохи вище, де @Jason запитав, чи використовую я 64-бітну установку Python 2.7. Відповідь полягає в тому, що моя основна програма 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.