Встановлення пакета Python gdal
у virualenv в Linux
GDAL
забезпечує приємний набір інструментів для операцій, пов'язаних з GEO. Однак встановити його на virtualenv в Linux не є тривіальною задачею.
У цьому рецепті описано, як це зробити.
Примітка
тут я використовую малі регістри gdal
для пакету Python та верхній регістр GDAL
для загальної бібліотеки, що працює в системі.
Вимоги
- дозволяють використовувати бібліотеки osgeo (встановлені через
gdal
пакет Python) у virtualenv
- дозволяють встановити на Linux Ubuntu
Методи установки
Існує кілька методів установки. Один вимагає компіляції і займає кілька хвилин більше.
Інший використовує колесо з pygdal
пакетом і дуже швидко. У будь-якому випадку, для створення колесного колеса потрібно створити його один раз, а створення все-таки включає етап компіляції.
Про 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
є 1.10.1
і що наші virtualenv вже активовані:
$ pip install pygdal==1.10.1
Це може зайняти деякий час, чи потрібен нумез, який також може вимагати певної компіляції. Просто зачекай.
Перевірте, він встановлений:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Відтепер ви можете використовувати пакет osgeo у вашому коді Python точно так само, як якщо б ви встановили його за допомогою gdal
пакета Python.
Створення колесного пакету для pygdal
Зауважте, що колесові пакети повинні бути створені для такої самої архітектури, а саме повинні відповідати:
- Архітектура процесора
- ОС (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
з колесних пакетів
Установка з пакетів, відформатованих колесом, відбувається набагато швидше (секунду порівняно з хвилинами), оскільки не потребує компіляції.
Зауважте, що каталог з колесними пакетами може мати будь-яку назву, ми будемо використовувати лише назву рубки.
Активуйте virtualenv спочатку.
Переконайтеся, що у каталозі рульових будинків є необхідні пакети коліс (для pygdal
та numpy
).
Переконайтесь, що GDAL
встановлено та версія відповідає версії pygdal
.
Встановити pygdal
з колеса:
$ pip install pygdal==1.10.1.0 -f wheelhouse
Колірка -f повинна вказувати на каталог із файлами whl.
Не потрібно встановлювати numpy
, він встановлюється автоматично.