Installieren des Python-Pakets gdal
in virualenv unter Linux
GDAL
Bietet ein nützliches Toolkit für GEO-bezogene Operationen. Die Installation auf virtualenv unter Linux ist jedoch keine triviale Aufgabe.
Dieses Rezept beschreibt, wie das geht.
Hinweis
Hier verwende ich Kleinbuchstaben gdal
für Python-Pakete und Großbuchstaben GDAL
für allgemeine systemweite Bibliotheken.
Bedarf
- Ermöglichen Sie die Verwendung von osgeo-Bibliotheken (die über das
gdal
Python-Paket installiert werden ) in virtualenv
- Erlaube die Installation unter Linux Ubuntu
Installationsmethoden
Es gibt mehrere Installationsmethoden. Eine Kompilierung ist erforderlich und dauert einige Minuten länger.
Das andere verwendet Radpaket des pygdal
Pakets und ist sehr schnell. Um das Radpaket zu erstellen, muss es auf jeden Fall einmal erstellt werden, und die Erstellung umfasst ohnehin den Kompilierungsschritt.
Über GDAL
Pakete und Versionen
GDAL
ist eine allgemeine C (++) - basierte Bibliothek für GEO-bezogene Berechnungen.
GDAL
Dienstprogramme können systemweit installiert werden, wodurch gemeinsam genutzte Bibliotheken verfügbar werden, das Python-Paket selbst wird jedoch nicht installiert.
GDAL
Es gibt verschiedene Versionen und jede Linux-Distribution kann standardmäßig eine andere Version installieren.
Das Python-Paket gdal
muss kompiliert werden und ist auf Linux-basierten Systemen nicht einfach zu installieren, da nur wenige Umgebungsvariablen festgelegt werden müssen. Dies erschwert die Installation in virtualenv.
Für jede gdal
Version wird möglicherweise eine andere Version von GDAL
vorausgesetzt, und die Installation schlägt fehl, wenn die erwartete Version nicht im System vorhanden ist.
Python-Paket pygdal
ist eine Alternative zu Python gdal
, das genau dasselbe installiert wie Python gdal
, aber viel virtueller ist.
pygdal
kommt in Versionen, die verwandte Versionen widerspiegeln GDAL
. GDAL
Wenn Sie also Version 1.10.1 im System haben, müssen Sie pygdal
Version 1.10.1 installieren .
Python-Paket gdal
(wie auch pygdal
) verwendet das Root-Python-Paket mit dem Namen
osgeo
und einer Reihe von Submodulen osgeo.gdal
.
Bei Bedarf können andere als die Standardversionen von GDAL
installiert und verwendet werden. Dies liegt außerhalb des Umfangs dieser Beschreibung.
Radpakete können übergreifend kompiliert werden, dies ist auch nicht im Umfang.
Installation GDAL
im System
Da es pygdal
erforderlich ist, dass GDAL
gemeinsam genutzte Bibliotheken vorhanden sind, müssen diese zuerst installiert werden.
Vorausgesetzt, dass GDAL
noch nicht installiert ist, gdal-config
beschwert sich der Anruf und gibt Ihnen einen Hinweis, wie Sie nachverfolgen können:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Folgen Sie dem Hinweis und installieren Sie ihn:
$ sudo apt-get install libgdal-dev
Jede Distribution kann eine andere Version von verwenden GDAL
. Um herauszufinden, welche wir verwenden:
$ gdal-config --version
1.10.1
Jetzt wissen Sie, GDAL
ist installiert und die Version ist 1.10.1 (die Version kann variieren).
Installation pygdal
vom Quellpaket (Kompilierung erforderlich)
Derzeit pygdal
wird nur das tar.gz-Paket bereitgestellt, das Paketquellen enthält und kompiliert werden muss.
Vorausgesetzt, die Version von GDAL
ist 1.10.1
und dass unser virtualenv bereits aktiviert ist:
$ pip install pygdal==1.10.1
Es kann eine Weile dauern, bis der Vorgang abgeschlossen ist. Dies erfordert möglicherweise auch eine Kompilierung. Warte einfach.
Überprüfen Sie, ob es installiert ist:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Ab sofort können Sie das osgeo-Paket in Ihrem Python-Code genau so verwenden, wie Sie es mit dem gdal
Python-Paket installieren würden .
Radpaket erstellen für pygdal
Beachten Sie, dass Radpakete für genau dieselbe Architektur erstellt werden müssen, und zwar für Folgendes:
- CPU-Architektur
- Betriebssystem (Linux / Windows)
In unserem Fall muss es auch mit der GDAL
installierten Version übereinstimmen .
Die folgenden Schritte können in virtualenv ausgeführt werden oder nicht, wie Sie möchten.
Stellen Sie zunächst sicher, dass das Radpaket installiert ist:
$ pip install wheel
Vorausgesetzt, Sie haben GDAL
installiert und es hat Version 1.10.1:
$ pip wheel pygdal==1.10.1.0
und warten Sie, bis es abgeschlossen ist.
Danach finden Sie das Unterverzeichnis wheelhouse und es enthält Pakete mit der Erweiterung `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Von Radpaketen pygdal
einbauen
Die Installation von radformatierten Paketen ist viel schneller (eine Sekunde im Vergleich zu Minuten), da keine Kompilierung erforderlich ist.
Beachten Sie, dass das Verzeichnis mit den Wheel-Paketen einen beliebigen Namen haben kann. Wir verwenden nur den Namen Wheelhouse.
Aktivieren Sie zuerst virtualenv.
Stellen Sie sicher, dass Sie im Steuerhausverzeichnis beide erforderlichen Radpakete (für pygdal
und numpy
) haben.
Stellen Sie sicher, dass GDAL
installiert ist und die Version mit der Version von übereinstimmt pygdal
.
Installieren pygdal
von Rad - Paket:
$ pip install pygdal==1.10.1.0 -f wheelhouse
Das -f Steuerhaus muss auf das Verzeichnis mit den Whl-Dateien verweisen.
Es ist keine Installation erforderlich numpy
, es wird automatisch installiert.