Установка пакета Python gdal
в virualenv в Linux
GDAL
предоставляет хороший инструментарий для операций, связанных с GEO. Тем не менее, установка его в virtualenv в Linux не является тривиальной задачей.
Этот рецепт описывает, как это сделать.
нота
здесь я использую строчные буквы gdal
для пакета Python и прописные буквы GDAL
для общесистемной библиотеки.
Требования
- разрешить использование библиотек osgeo (установленных через
gdal
пакет Python) в virtualenv
- разрешить установку на Linux Ubuntu
Методы установки
Есть несколько способов установки. Один требует компиляции и занимает несколько минут больше.
Другой использует пакет pygdal
пакета колеса и очень быстр. В любом случае, для создания пакета wheel нужно создать его один раз, и в любом случае создание включает в себя этап компиляции.
О GDAL
пакетах и версиях
GDAL
общая библиотека на языке C (++) для расчетов, связанных с GEO.
GDAL
Утилиты могут быть установлены во всей системе, что делает общие библиотеки доступными, но не устанавливает сам пакет Python.
GDAL
поставляется в разных версиях, и каждый дистрибутив Linux может по умолчанию устанавливать разные версии.
Пакет Python gdal
требует компиляции и не является тривиальной для установки в системах на основе Linux, так как он ожидает установки нескольких переменных среды. Это затрудняет установку в virtualenv.
Каждая gdal
версия может принимать разные версии GDAL
и не будет установлена, если ожидаемая версия отсутствует в системе.
Пакет Python pygdal
является альтернативой пакету gdal
, который устанавливает точно такой же материал, как и gdal
, но делает это гораздо более дружелюбным образом.
pygdal
поставляется в версиях, отражающих связанную GDAL
версию. Таким образом, имея GDAL
версию 1.10.1 в системе, вы должны установить pygdal
версию 1.10.1.
Пакет Python gdal
(также как pygdal
) использует корневой именованный пакет Python
osgeo
и имеет множество подмодулей, один из которых osgeo.gdal
.
При необходимости GDAL
могут быть установлены и использованы версии, отличные от стандартных . Это выходит за рамки этого описания.
Пакеты колес могут быть скомпилированы, это также выходит за рамки.
Установка GDAL
в систему
Поскольку pygdal
требуются GDAL
общие библиотеки, мы должны сначала установить их.
Предполагая, GDAL
что еще не установлен, звонящий gdal-config
будет жаловаться и подскажет, как действовать:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Следуйте подсказке и установите ее:
$ sudo apt-get install libgdal-dev
Каждый дистрибутив может использовать разные версии GDAL
. Чтобы узнать, какие мы используем:
$ gdal-config --version
1.10.1
Теперь вы знаете, GDAL
установлена и версия 1.10.1 (версия может отличаться).
Установить pygdal
из исходного пакета (требуется компиляция)
В настоящее время pygdal
предоставляется только в пакете tar.gz, который содержит исходные коды пакета и требует компиляции.
Предполагая, что версия GDAL
is 1.10.1
и что наш virtualenv уже активирован:
$ pip install pygdal==1.10.1
Может потребоваться некоторое время, чтобы завершить, если это нужно NumPy, что также может потребовать некоторой компиляции. Просто подожди.
Проверьте, установлено ли:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Теперь вы можете использовать пакет osgeo в своем коде Python так, как вам нравится, точно так же, как если бы вы устанавливали его с помощью gdal
пакета Python.
Создание пакета колес для pygdal
Обратите внимание, что пакеты wheel должны быть созданы для точно такой же архитектуры, а именно должны соответствовать:
- Архитектура процессора
- ОС (Linux / Windows)
В нашем случае он также должен соответствовать версии GDAL
установленной.
Следующие шаги могут быть выполнены в virtualenv или нет, как вам нравится.
Сначала убедитесь, что установлен колесный пакет:
$ pip install wheel
Предполагается, что вы GDAL
установили и он имеет версию 1.10.1:
$ pip wheel pygdal==1.10.1.0
и ждать, пока он не завершится.
После этого вы найдете подкаталог рулевой рубки, который будет содержать пакеты с расширением `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Установить pygdal
с колесных пакетов
Установка из пакетов в формате wheel выполняется намного быстрее (секунда по сравнению с минутами), так как не требует компиляции.
Обратите внимание, что каталог с пакетами wheel может иметь любое имя, мы будем использовать только имя wheelhouse.
Сначала активируйте virtualenv.
Убедитесь, что в каталоге рулевой рубки есть оба требуемых пакета колес (для pygdal
и numpy
).
Убедитесь, GDAL
что установлен и версия соответствует версии pygdal
.
Установить pygdal
из пакета колеса:
$ pip install pygdal==1.10.1.0 -f wheelhouse
-F рубка должна указывать на каталог с файлами whl.
Нет необходимости устанавливать numpy
, он устанавливается автоматически.