Installation du paquet Python gdaldans virualenv sous Linux
GDALfournit une jolie boîte à outils pour les opérations liées à GEO. Cependant, l’installer sur virtualenv sous Linux n’est pas une tâche aisée.
Cette recette décrit comment faire cela.
Remarque
Ici, j'utilise des minuscules gdalpour le paquet Python et des majuscules GDALpour la bibliothèque système globale.
Exigences
- autoriser l'utilisation de bibliothèques osgeo (installées via
gdalle paquet Python) dans virtualenv
- autoriser l'installation sur Linux Ubuntu
Méthodes d'installation
Il existe plusieurs méthodes d'installation. L'une nécessite une compilation et prend quelques minutes de plus.
L'autre utilise le paquet de roue pygdalet est très rapide. Quoi qu'il en soit, pour créer le paquetage wheel, il faut le créer une fois et la création inclut quand même l'étape de compilation.
À propos des GDALpackages et des versions
GDAL est une bibliothèque générale basée sur C (++) pour les calculs liés à GEO.
GDAL Les utilitaires peuvent être installés à l’échelle du système, ce qui rend les bibliothèques partagées disponibles, mais n’installe pas le paquet Python lui-même.
GDAL existe en différentes versions et chaque distribution Linux peut installer par défaut une version différente.
Le paquet Python gdalnécessite une compilation et son installation sur des systèmes Linux n'est pas une mince affaire, car il n'attend que peu de variables d'environnement. Cela rend l’installation dans virtualenv plus difficile.
Chaque gdalversion peut assumer une version différente de GDALet échouera l’installation si la version attendue n’est pas présente sur le système.
Le paquet Python pygdalest une alternative à gdal, qui installe exactement la même chose que gdal, mais le fait de manière beaucoup plus conviviale et virtuelle.
pygdalvient dans les versions reflétant la GDALversion connexe . Donc, ayant la GDAL
version 1.10.1 dans le système, vous devez installer la pygdalversion 1.10.1.
Le paquet Python gdal(ainsi que pygdal) utilise le paquet python racine nommé
osgeoet possède un ensemble de sous-modules, l'un d'eux osgeo.gdal.
Si nécessaire, d'autres versions que les versions par défaut GDALpeuvent être installées et utilisées. Ceci sort du cadre de cette description.
Les paquets de roues peuvent être compilés de manière croisée, ceci est également hors de portée.
Installation GDALdans le système
Comme pygdalexige des GDALbibliothèques partagées à présent, il faut les installer en premier.
En supposant qu’il GDALn’est pas encore installé, l’appel gdal-configse plaindra et vous indiquera comment faire un suivi:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Suivez l'indice et installez-le:
$ sudo apt-get install libgdal-dev
Chaque distribution peut utiliser une version différente de GDAL. Pour savoir ce que nous utilisons:
$ gdal-config --version
1.10.1
Maintenant, vous savez, GDALest installé et la version est 1.10.1 (la version peut varier).
Installer à pygdalpartir du paquet source (nécessite une compilation)
Actuellement, il pygdaln’est fourni que dans le package tar.gz, qui contient les sources du package et nécessite une compilation.
En supposant que la version de GDALis 1.10.1et que notre virtualenv soit déjà activée:
$ pip install pygdal==1.10.1
Cela peut prendre un peu de temps, s'il nécessite Numpy, ce qui peut également nécessiter une compilation. Attends.
Vérifiez, il est installé:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
À partir de maintenant, vous pouvez utiliser le paquet osgeo dans votre code Python à votre guise, exactement de la même manière que si vous l'installiez avec un gdalpaquet Python.
Créer un paquet de roue pour pygdal
Notez que les packages de roue doivent être créés pour une architecture identique, à savoir:
- Architecture de la CPU
- OS (Linux / Windows)
Dans notre cas, il doit également correspondre à la version GDALinstallée.
Les étapes suivantes peuvent être effectuées dans virtualenv ou non, comme vous le souhaitez.
Tout d’abord, assurez-vous que le paquet de roue est installé:
$ pip install wheel
En supposant que vous ayez GDALinstallé la version 1.10.1:
$ pip wheel pygdal==1.10.1.0
et attendez, jusqu'à ce qu'il se termine.
Après cela, vous trouverez le sous-répertoire timonerie qui contiendra les paquets avec l’extension `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Installer à pygdalpartir de la roue
L'installation à partir de packages au format Wheel est beaucoup plus rapide (une seconde par rapport aux minutes), car elle ne nécessite pas de compilation.
Notez que ce répertoire avec les paquets de roue peut avoir n'importe quel nom, nous utiliserons simplement le nom timonerie.
Activez d'abord virtualenv.
Assurez-vous que vous avez dans le répertoire de la timonerie les deux ensembles de roues requis (pour pygdalet numpy).
Ensure, GDALest installé et la version correspond à la version de pygdal.
Installer à pygdalpartir du paquet de roue:
$ pip install pygdal==1.10.1.0 -f wheelhouse
La timonerie -f doit pointer vers le répertoire contenant les fichiers whl.
Il n'y a pas besoin d'installer numpy, il s'installe automatiquement.