Встановлення пакета 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, він встановлюється автоматично.