Установка GDAL с Python на Windows?

92

Может кто-нибудь объяснить, как установить GDAL / OGR с Python на Windows?

У меня Windows Vista, и я попытался проследить информацию на веб-сайте, и она, кажется, не связывает exe-файлы для меня.

Может кто-нибудь описать процесс, включая ссылки на нужные мне файлы / папки?

Теперь я попытался запустить установку GDAL с MinGW, но это также не удалось:

GDAL_FAIL

GuidoS
источник

Ответы:

63

Если у вас нет веских причин не делать этого, я бы определенно рекомендовал начать с установщика OSGeo4W , который может устанавливать несколько разных версий GDAL и их соответствующие привязки Python. Он отлично работает и значительно упрощает историю развертывания Windows. В частности, вы захотите установить pkg-gdal-python , который находится в пределах 'Libs' в дереве установщика.

SCW
источник
8
Поэтому я использовал установщик OSGeo4W для установки gdal, а затем попробовал их небольшой интерфейс командной строки, но все еще не мог в python сделать следующее: import gdal
GuidoS
7
OSGEO4W устанавливает свой собственный экземпляр Python в корневой каталог OSGEO4W. Чтобы использовать Python, включающий gdal и все другие модули OSGEO, откройте запуск оболочки OSGEO4W> программные файлы> osgeo4w. Запустите Python или запустите скрипт Python оттуда.
DavidF
8
Попробуйтеfrom osgeo import gdal
DavidF
3
@scw, пожалуйста, подумайте о том, чтобы свести примеры из комментариев в свой ответ. Это облегчит объединение соответствующей информации в единое целое (частично из-за возможности сохранения форматирования кода). Голосуйте за комментарии, которые вы используете как средство для зачисления и подтверждения источника.
Мэтт Уилки
6
Есть ли способ использовать «из osgeo import gdal» из моей основной оболочки python вместо использования оболочки OSGEO?
Алексис Эггермонт
58

Вы можете скачать пакет GDAL wheel из неофициальных бинарных файлов Кристофа Гольке для пакетов расширения 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.

Mike T
источник
2
+1 Я нашел эту страницу бесценным источником дистрибутивов Python для 64-битной Windows
география
1
У меня возникают проблемы с работой этого установщика, так как он не может обнаружить мои установки на python. У меня установлены python26 и python27, C:/Python2Xно он не может их найти .... не важно! Выберите 64 бит вместо 32 ....
djq
Это сработало для меня намного проще, чем принятый ответ, так как я не хочу еще одну установку Python и Numpy.
Ахмед Фасих
Эти строки теперь включены в установку.
Барбаросса
спасибо @ Barbarossa, я обновил этот ответ, чтобы отразить текущее состояние пакета.
Майк Т
15

Другой вариант - установить дистрибутив Anaconda Python, содержащий пакеты для GDAL. Если вы собираетесь проделать большую работу, используя GDAL с другими пакетами Python (scipy, pandas, scikit-learn и т. Д.), Это может быть лучшим вариантом, чем OSGeo4W. С другой стороны, если вы хотите использовать Python в сочетании с несколькими открытыми исходными кодами и пакетами ГИС (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
Это здорово! Особенно приятно, потому что вы можете запустить его как из командной строки, так и через 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')

и т.п.

оборота РобертХ
источник
Хорошо документировано пошагово. Спасибо.
Коттон. Роквуд
6

Я знаю, что упоминался установщик OSGEO, но, как сказал GuidoS, он не будет работать, если вы не находитесь в оболочке osgeow, что прекрасно и просто, если все, что вы делаете, это простой Python. Скорее всего, если нет, вам придется либо переустановить пакет, а затем запустить приложение / плагин из этой папки, либо скомпилировать все зависимости для gdal и установить его снова.

Что работает для меня это:

  • В PyDev / Eclipse (не в моей основной IDE) я добавляю список библиотек в интерпретатор Python по умолчанию
  • Используйте встроенную консоль для запуска файлов
оборота дассуки
источник
3
Вы можете установить o4w python как системный по умолчанию python, например, сделать его доступным для всех, добавив его в системный реестр. Существует скрипт Python для этого в 32- битных окнах по адресу trac.osgeo.org/osgeo4w/ticket/114 (64- битный должен быть добавлен вручную).
Мэтт Вилки
5

Еще один очень простой способ загрузки двоичных файлов gdal - на сайте Кристофа Гольке.

Спасибо за сообщение в блоге на http://fuzzytolerance.info/code/postgis-raster-ftw/ .

snorris
источник
Ссылка на пост в блоге, кажется, мертва ..
Radek
Обновление уже здесь, но я не уверен, насколько это полезно. fuzzytolerance.info/blog/2010/10/25/…
snorris
Эта ссылка тоже сейчас мертва.
Джоэл Беннетт
5

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

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

Leigh MacDonald
источник
5

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

Если вы хотите установить только GDAL Binaries для Python на компьютере с Windows, я бы получил инсталляторы с отличного сайта GIS Internals . Этот сайт связан с официальной страницей GDAL / OGR Binaries . Это дает вам доступ к GDAL через обычную установку Python без необходимости использования оболочки osgeow. Двоичные файлы здесь регулярно поддерживаются и компилируются для различных версий Visual Studio (поэтому выбирайте в зависимости от того, какие среды выполнения вы установили).

MappaGnosis
источник
Нет проблем, если на одном компьютере установлено несколько сред выполнения MSVC. Если вам нужны специальные драйверы, такие как ECW и MrSid, обратите внимание, что существуют разные возможности, скомпилированные для разных платформ MSVC. Просто перейдите по informationссылке и увидите различия.
AndreJ
4

Как и другие участники, я советую выбрать установщик OSGEO4W .

Если по каким-либо причинам вы не хотите или не можете его использовать, обратитесь к документации по пакетам Python по адресу gdal http://pypi.python.org/pypi/GDAL/

Например, вы обнаружите, что на сайте OSGEO есть двоичные файлы gdal

ThomasG77
источник
2

Я использую FWTools в Windows XP. Он включает установку Python с библиотеками GDAL. После установки просто запустите ваши скрипты Python из оболочки FWTools .

Хайме Сото
источник
1
В то время FWTools был хорошим инструментом, но с тех пор не получал никаких обновлений. Я предлагаю перейти на gisinternlas, которая все еще активно поддерживается.
AndreJ
0

Я только что сделал это вчера, следуя этому уроку http://www.gis.usu.edu/~chrisg/python/2009/docs/gdal_win.pdf Это отлично сработало для меня.

Хорхе Видинья
источник
1
Пожалуйста, суммируйте основную концепцию здесь, в противном случае этот ответ может оказаться бесполезным, когда ссылки прерываются.
Подземье
0

У меня было много проблем сегодня, но теперь она решена, и я разместил свои записи здесь,

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

в основном, я имею в виду принятый ответ на этот вопрос

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

оборота TonyTony
источник
1
Пожалуйста, суммируйте основную концепцию здесь, в противном случае этот ответ может оказаться бесполезным, когда ссылки прерываются.
Подземье