Instalowanie pakietu Python gdal
w virualenv w systemie Linux
GDAL
zapewnia ładny zestaw narzędzi do operacji związanych z GEO. Jednak instalacja go do virtualenv w systemie Linux nie jest łatwym zadaniem.
Ten przepis opisuje, jak to zrobić.
Uwaga
tutaj używam małych liter gdal
dla pakietu Python i wielkich liter GDAL
dla ogólnej biblioteki systemowej.
Wymagania
- zezwól na używanie bibliotek osgeo (instalowanych przez
gdal
pakiet Python) w virtualenv
- zezwól na instalację w systemie Linux Ubuntu
Metody instalacji
Istnieje wiele metod instalacji. Jeden wymaga kompilacji i zajmuje kilka minut dłużej.
Drugi używa pakietu kół pygdal
i jest bardzo szybki. W każdym razie, aby utworzyć pakiet koła, należy go utworzyć raz, a tworzenie i tak obejmuje etap kompilacji.
Informacje o GDAL
pakietach i wersjach
GDAL
to ogólna biblioteka oparta na C (++) do obliczeń związanych z GEO.
GDAL
narzędzia można zainstalować w całym systemie, co udostępnia biblioteki współdzielone, ale nie instaluje samego pakietu Python.
GDAL
występuje w różnych wersjach, a każda dystrybucja Linuksa może domyślnie instalować inną wersję.
Pakiet Pythona gdal
wymaga kompilacji i nie jest trywialny w instalacji w systemach Linux, ponieważ wymaga ustawienia kilku zmiennych środowiskowych. Utrudnia to instalację w virtualenv.
Każda gdal
wersja może zakładać inną wersję GDAL
i instalacja zakończy się niepowodzeniem, jeśli w systemie nie ma oczekiwanej wersji.
Pakiet Python pygdal
jest alternatywą dla gdal
, która instaluje dokładnie to samo, co gdal
, ale robi to w znacznie bardziej przyjazny dla virtualenv sposób.
pygdal
występuje w wersjach odzwierciedlających GDAL
wersję pokrewną . Mając GDAL
wersję 1.10.1 w systemie, należy zainstalować pygdal
wersję 1.10.1.
Pakiet Python gdal
(jak również pygdal
) korzysta z pakietu root Python o nazwie
osgeo
i ma zestaw submodułów, z których jeden jest osgeo.gdal
.
W razie potrzeby GDAL
można zainstalować i używać innych niż domyślne wersji . Jest to poza zakresem tego opisu.
Pakiety kół można kompilować krzyżowo, to również nie wchodzi w zakres.
Instalowanie GDAL
w systemie
Ponieważ pygdal
wymaga GDAL
obecności bibliotek współdzielonych, musimy je najpierw zainstalować.
Zakładając, że GDAL
nie jest jeszcze zainstalowany, dzwonienie gdal-config
narzeka i daje ci wskazówkę, jak postępować:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Postępuj zgodnie ze wskazówkami i zainstaluj:
$ sudo apt-get install libgdal-dev
Każda dystrybucja może korzystać z innej wersji GDAL
. Aby dowiedzieć się, którego używamy:
$ gdal-config --version
1.10.1
Teraz wiesz, że GDAL
jest zainstalowany, a wersja to 1.10.1 (wersja może się różnić).
Zainstaluj pygdal
z pakietu źródłowego (wymaga kompilacji)
Obecnie pygdal
jest dostępny tylko w pakiecie tar.gz, który zawiera źródła pakietów i wymaga kompilacji.
Zakładając, że wersja GDAL
is 1.10.1
i że nasza virtualenv jest już aktywowana:
$ pip install pygdal==1.10.1
Może to trochę potrwać, ponieważ wymaga numpy, co może również wymagać kompilacji. Poczekaj.
Sprawdź, czy jest zainstalowany:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Od teraz możesz używać pakietu osgeo w swoim kodzie Python, tak jak chcesz, dokładnie tak samo, jakbyś instalował go za pomocą gdal
pakietu Python.
Tworzenie pakietu kół dla pygdal
Uwaga: pakiety kół muszą być tworzone dla dokładnie tej samej architektury, a mianowicie muszą być zgodne:
- Architektura procesora
- System operacyjny (Linux / Windows)
W naszym przypadku musi również pasować do wersji GDAL
zainstalowanej.
Poniższe kroki można wykonać w virtualenv lub nie, jak chcesz.
Najpierw upewnij się, że pakiet kół jest zainstalowany:
$ pip install wheel
Zakładając, że masz GDAL
zainstalowany i ma on wersję 1.10.1:
$ pip wheel pygdal==1.10.1.0
i poczekaj, aż się zakończy.
Następnie znajdziesz podkatalog sterówki, który będzie zawierał paczki z rozszerzeniem `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Zainstaluj pygdal
z pakietów kół
Instalacja z pakietów sformatowanych z użyciem kół jest znacznie szybsza (sekunda w porównaniu do minut), ponieważ nie wymaga kompilacji.
Zauważ, że katalog z pakietami kół może mieć dowolną nazwę, użyjemy tylko nazwy wheelhouse.
Najpierw aktywuj virtualenv.
Upewnij się, że masz w katalogu sterówki oba wymagane pakiety kół (dla pygdal
i numpy
).
Upewnij się, że GDAL
jest zainstalowany, a wersja pasuje do wersji pygdal
.
Zainstaluj pygdal
z pakietu kół:
$ pip install pygdal==1.10.1.0 -f wheelhouse
-F sterówka wskazuje katalog z plikami whl.
Nie trzeba instalować numpy
, instaluje się automatycznie.