Installieren des Python-Pakets gdalin virualenv unter Linux
GDALBietet 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 gdalfür Python-Pakete und Großbuchstaben GDALfür allgemeine systemweite Bibliotheken.
Bedarf
- Ermöglichen Sie die Verwendung von osgeo-Bibliotheken (die über das
gdalPython-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 pygdalPakets 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 GDALPakete 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 gdalmuss 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 gdalVersion wird möglicherweise eine andere Version von GDALvorausgesetzt, und die Installation schlägt fehl, wenn die erwartete Version nicht im System vorhanden ist.
Python-Paket pygdalist eine Alternative zu Python gdal, das genau dasselbe installiert wie Python gdal, aber viel virtueller ist.
pygdalkommt in Versionen, die verwandte Versionen widerspiegeln GDAL. GDAL
Wenn Sie also Version 1.10.1 im System haben, müssen Sie pygdalVersion 1.10.1 installieren .
Python-Paket gdal(wie auch pygdal) verwendet das Root-Python-Paket mit dem Namen
osgeound einer Reihe von Submodulen osgeo.gdal.
Bei Bedarf können andere als die Standardversionen von GDALinstalliert und verwendet werden. Dies liegt außerhalb des Umfangs dieser Beschreibung.
Radpakete können übergreifend kompiliert werden, dies ist auch nicht im Umfang.
Installation GDALim System
Da es pygdalerforderlich ist, dass GDALgemeinsam genutzte Bibliotheken vorhanden sind, müssen diese zuerst installiert werden.
Vorausgesetzt, dass GDALnoch nicht installiert ist, gdal-configbeschwert 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, GDAList installiert und die Version ist 1.10.1 (die Version kann variieren).
Installation pygdalvom Quellpaket (Kompilierung erforderlich)
Derzeit pygdalwird nur das tar.gz-Paket bereitgestellt, das Paketquellen enthält und kompiliert werden muss.
Vorausgesetzt, die Version von GDAList 1.10.1und 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 gdalPython-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 GDALinstallierten 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 GDALinstalliert 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 pygdaleinbauen
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 pygdalund numpy) haben.
Stellen Sie sicher, dass GDALinstalliert ist und die Version mit der Version von übereinstimmt pygdal.
Installieren pygdalvon 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.