Установка 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 сделать следующее: 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.


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/ .


Ссылка на пост в блоге, кажется, мертва ..
— Radek

Обновление уже здесь, но я не уверен, насколько это полезно. fuzzytolerance.info/blog/2010/10/25/…
— snorris

Эта ссылка тоже сейчас мертва.
— Джоэл Беннетт

5

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

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


5

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

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


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

4

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

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

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


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


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