Встановлення GDAL з Python на windows?


92

Хтось може пояснити, як встановити GDAL / OGR з Python на Windows?

У мене є Windows Vista, і я намагався дотримуватися інформації на веб-сайті, і, здається, не пов’язує файли EXE для мене.

Чи може хтось описати процес, включаючи посилання на потрібні мені файли / папки?

Зараз я намагався запустити налаштування gdal за допомогою minGW, але це також не вдалося:

GDAL_FAIL

Відповіді:


63

Якщо у вас немає вагомих причин цього не робити, я напевно рекомендую почати з інсталятора OSGeo4W , який може встановити кілька різних версій GDAL та їх відповідних прив'язків Python. Це чудово працює і значно спрощує історію розгортання Windows. Зокрема, вам потрібно встановити pkg-gdal-python , який знаходиться в межах "Libs" у дереві інсталятора.


8
Тому я застосував інсталятор OSGeo4W для встановлення gdal, а потім спробував їх маленький інтерфейс командного рядка, але все ще не міг у python зробити наступне: імпортувати gdal
GuidoS

7
OSGEO4W встановлює власний екземпляр Python під коренем OSGEO4W. Щоб використовувати Python, що включає gdal та всі інші модулі OSGEO, відкрийте запуск оболонки OSGEO4W> програмні файли> osgeo4w. Запустіть Python або запустіть сценарій Python звідти.
DavidF

8
Спробуйтеfrom osgeo import gdal
DavidF

3
@scw, будь ласка, подумайте про те, як згорнути приклади з коментарів у свою відповідь. Це полегшить складання відповідної інформації разом у єдине ціле (частково через можливість збереження форматування коду). Проголосуйте за коментарі, які ви використовуєте для зарахування та підтвердження джерела.
matt wilkie

6
Чи є спосіб використовувати "from osgeo import gdal" з моєї основної оболонки python замість того, щоб використовувати оболонку OSGEO?
Алексіс Еггермонт

58

Ви можете завантажити колесо GDAL з неофіційних бінарних файлів Windows Крістофа Гольке для розширення пакетів Python .

Його можна встановити з cmd.exe, використовуючи щось на кшталт:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Ви повинні встановити NumPy з того самого місця, використовуючи аналогічну команду)

Хоча пакет не створений розробниками OSGeo або GDAL, це високоякісна дистрибуція з підтримкою останніх версій GDAL, складених для 32-бітної та 64-розрядної версій Python. Жодних зовнішніх бібліотек не потрібно додавати чи керувати!

Оновлення навіть встановлює GDAL_DATAзмінну середовища, якщо вона не встановлена, і включає PostgreSQLдрайвер для зчитування даних з PostGIS.


2
+1 Я знайшов цю сторінку безцінним джерелом дистрибутивів Python для 64-розрядних Windows
geographika

1
У мене виникають труднощі з роботою цього інсталятора, оскільки він не вдається виявити мої установки python. У мене встановлені python26 та python27, C:/Python2Xале він не може його знайти .... ніколи не пам’ятаю! Виберіть 64 біт замість 32 ....
djq

Це працювало для мене набагато простіше, ніж прийнята відповідь, оскільки я не хочу іншої установки Python і Numpy.
Ахмед Фасіх

Ці рядки тепер включені до встановлення.
Барбаросса

дякую @Barbarossa, я оновив цю відповідь, щоб відобразити поточний статус пакету.
Майк T

15

Інший варіант - встановити дистрибутив Anaconda Python, який має пакети для GDAL. Якщо ви збираєтеся робити багато роботи, використовуючи GDAL з іншими пакетами Python (scipy, панди, scikit-learn тощо), це може бути кращим варіантом, ніж OSGeo4W. З іншого боку, якщо ви хочете використовувати Python у поєднанні з низкою дистанційного зондування з відкритим кодом та пакетами GIS (GRASS, QGIS тощо), OSGeo4W - це, мабуть, кращий варіант.

Ви можете отримати повний дистрибутив Anaconda за посиланням: https://www.continuum.io/downloads, який містить безліч пакетів Python, спрямованих на "науку про дані" або мінімальну установку з http://conda.pydata.org/miniconda. html

У рамках установки він запропонує вам додати до основного шляху (щоб він був доступний з будь-якого терміналу).

Після налаштування GDAL можна встановити в нове середовище за допомогою:

conda create -n gdal_env -c conda-forge gdal

Потім активуйте його як показ, коли команда закінчується. Встановлення в нове середовище рекомендується уникати конфліктів з іншими пакетами та переконайтеся, що встановлені необхідні змінні середовища.

Я запропонував встановити з каналу conda-forge ( https://conda-forge.github.io/ ), оскільки вони дуже активні в оновленні своїх складових GDAL і гарантують, що вони працюють проти багатьох бібліотек.

Після встановлення пакетів можна оновити зсередини, використовуючи:

conda update gdal

1
Це, безумовно, найпростіший метод, особливо якщо ви плануєте встановлювати інші складні пакети Python (наприклад, scikit-learn, numpy)
bgordon

1
Це чудово! Особливо приємно b / c ви можете запускати його як через командний рядок, так і через python.
mmann1123

Ви також можете встановити його, перейшовши в "Середовища" та вибираючи середовище, яке ви хочете використовувати. Тоді шукайте "gdal" у "Усі" пакунків
Goncalo Peres


9

Я вважаю OSGEO4W поганим рішенням, оскільки він створює цілий паралельний всесвіт, майже як віртуальна машина. Я зміг встановити GDAL і використовувати його в python, дотримуючись наведених тут кроків (це посилання, надане @ sys49152).

Він надсилає вас на gisinternals.com. Перейдіть за посиланням на "стабільні випуски", щоб перейти до: http://www.gisinternals.com/release.php

Тепер вам потрібно вибрати між 32 та 64 бітами та різними версіями компілятора Microsoft Visual C ++. Зауважте, що це має відповідати вашій версії python, а не вашій ОС. У моєму випадку у мене 64-бітні вікна, але 32-бітний python 2.7 (що постачається з ArcGIS).

Щоб побачити, що у вас, ви можете запустити python у командному рядку та таке повідомлення:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Тому мені потрібно використовувати "реліз-1500"

Я вибрав: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(номери версій збірки будуть змінюватися з часом)

Я вперше завантажив і встановив "Загальний інсталятор для основних компонентів GDAL": gdal-111-1500-core.msi

І додав шлях та інші змінні, як описано тут .

Додати до контуру: C:\Program Files (x86)\GDAL створити змінні середовища: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Потім я завантажив і встановив модуль python для python 2.7 GDAL-1.11.3.win32-py2.7.msi

І після цього в пітоні я зміг зробити

from osgeo import gdal
ds = gdal.Open('file.tif')

тощо.


Чудово задокументовано крок за кроком. Дякую.
Cotton.Rockwood

6

Я знаю, що був згаданий інсталятор OSGEO, але, як сказав GuidoS, він не працює, якщо ви не знаходитесь на оболонці osgeow, що добре і дэнді, якщо все, що ви робите, - це базовий пітон. Швидше за все, якщо ви цього не зробите, вам або доведеться перевстановити пакунок, а потім запустити додаток / плагін із цієї папки, або доведеться зібрати всі залежності для gdal та встановити його знову.

Що для мене працює:

  • У PyDev / Eclipse (не мій основний IDE) я додаю список бібліотек до інтерпретатора python за замовчуванням
  • Використовуйте вбудовану консоль для запуску файлів

3
Ви можете встановити o4w python як системний пітон за замовчуванням, наприклад, зробити його доступним для всіх, додавши його до системного реєстру. Існує сценарій python для цього в 32-бітових вікнах за адресою trac.osgeo.org/osgeo4w/ticket/114 (64-бітний слід додати вручну).
matt wilkie

5

Інший поточний, дуже простий варіант для завантаження файлів бінарних файлів gdal є на сайті Крістофа Голке

Завдяки публікації в блозі за адресою http://fuzzytolerance.info/code/postgis-raster-ftw/ за посилання.


Посилання на допис у щоденнику здається мертвим ..
radek

оновлено тут, але я не впевнений, наскільки це корисніше
fuzzytolerance.info/blog/2010/10/25/…

Це посилання також тепер мертве.
Джоел Беннетт

5

Це дійсно не так складно зробити. Я збирав його багато разів, перш ніж використовувати Visual Studio без жодних проблем. Просто дотримуйтесь інструкцій тут: текст посилання .

Це досить просто, просто прочитайте добре задокументований makefile.vc та встановіть відповідні каталоги, зокрема Python. Після його побудови у вас повинен бути вбудований модуль Python, який ви зможете скопіювати у вашу програму Python, що я завжди робив вручну, але, мабуть, є більш доцільний метод.


5

Два найкращих відповіді від @SCW та @Mike Toews чудові. Сайт, перелічений Майком, призначений для неофіційних бінарних файлів - що було дуже корисно, коли 64-розрядний GDAL був недоступний (на час, коли він написав свою відповідь), але це вже деякий час. Я додав тут цю альтернативну відповідь як, хоча я вже не раз згадував про це, він все ще продовжує обрізати, і ця вікі може бути кращим місцем.

Якщо ви хочете встановити лише файли бінарних файлів GDAL для Python на машині Windows, я отримав би інсталяторів від чудового сайту GIS Internals . Цей веб-сайт посилається на офіційній сторінці бінарних файлів GDAL / OGR . Це дає вам доступ до GDAL через звичайну установку Python без необхідності використання оболонки osgeow. Бінарні файли тут регулярно підтримуються та компілюються з різними версіями Visual Studio (тому вибирайте залежно від того, які умови виконання ви встановили).


Зовсім не проблема, якщо на одному комп'ютері встановлено кілька циклів виконання MSVC. Якщо вам потрібні спеціальні драйвери, як ECW та MrSid, зауважте, що існують різні можливості, складені під різними платформами MSVC. Просто перейдіть за informationпосиланням і побачите відмінності.
AndreJ


2

Я використовую FWTools в Windows XP. Він включає встановлення Python з бібліотеками GDAL. Після установки просто запустіть сценарії Python з оболонки FWTools .


1
На той час FWTools був хорошим інструментом, але відтоді не оновлюється. Я пропоную перейти на гізистерни, які все ще активно підтримуються.
AndreJ


0

Сьогодні у мене було багато проблем, але зараз це вирішено, і я ставлю свої записи тут,

https://gist.github.com/mobilestack/8749261

в основному, я посилаюся на прийняту відповідь на це питання

https://stackoverflow.com/questions/6009506/unable-to-install-python-and-gdal-dll-load-failed


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