Installation du paquet Python gdal
dans virualenv sous Linux
GDAL
fournit 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 gdal
pour le paquet Python et des majuscules GDAL
pour la bibliothèque système globale.
Exigences
- autoriser l'utilisation de bibliothèques osgeo (installées via
gdal
le 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 pygdal
et 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 GDAL
packages 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 gdal
né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 gdal
version peut assumer une version différente de GDAL
et échouera l’installation si la version attendue n’est pas présente sur le système.
Le paquet Python pygdal
est une alternative à gdal
, qui installe exactement la même chose que gdal
, mais le fait de manière beaucoup plus conviviale et virtuelle.
pygdal
vient dans les versions reflétant la GDAL
version connexe . Donc, ayant la GDAL
version 1.10.1 dans le système, vous devez installer la pygdal
version 1.10.1.
Le paquet Python gdal
(ainsi que pygdal
) utilise le paquet python racine nommé
osgeo
et 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 GDAL
peuvent ê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 GDAL
dans le système
Comme pygdal
exige des GDAL
bibliothèques partagées à présent, il faut les installer en premier.
En supposant qu’il GDAL
n’est pas encore installé, l’appel gdal-config
se 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, GDAL
est installé et la version est 1.10.1 (la version peut varier).
Installer à pygdal
partir du paquet source (nécessite une compilation)
Actuellement, il pygdal
n’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 GDAL
is 1.10.1
et 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 gdal
paquet 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 GDAL
installé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 GDAL
installé 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 à pygdal
partir 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 pygdal
et numpy
).
Ensure, GDAL
est installé et la version correspond à la version de pygdal
.
Installer à pygdal
partir 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.