Installer GDAL avec Python sur Windows?

92

Quelqu'un peut-il expliquer comment installer GDAL / OGR avec Python sous Windows?

J'ai Windows Vista et j'ai essayé de suivre les informations sur le site Web et il ne semble pas relier les fichiers exe pour moi.

Quelqu'un peut-il décrire le processus, y compris les liens vers les fichiers / dossiers dont j'ai besoin?

J'ai maintenant essayé d'exécuter la configuration de gdal avec minGW, mais cela a également échoué:

GDAL_FAIL

GuidoS
la source

Réponses:

63

À moins que vous n'ayez de bonnes raisons de ne pas le faire, je recommanderais certainement de commencer par le programme d'installation OSGeo4W , qui peut installer plusieurs versions différentes de GDAL et leurs liaisons Python correspondantes. Cela fonctionne très bien et simplifie considérablement le déploiement Windows. Plus précisément, vous voudrez installer pkg-gdal-python , qui se trouve dans «Libs» dans l’arborescence du programme d’installation.

scw
la source
8
J'ai donc utilisé le programme d'installation OSGeo4W pour installer gdal, puis essayé leur petite interface de ligne de commande, mais je ne pouvais toujours pas effectuer les opérations suivantes: import gdal
GuidoS
7
OSGEO4W installe sa propre instance Python sous la racine OSGEO4W. Pour utiliser le Python qui inclut gdal et tous les autres modules OSGEO, ouvrez le shell OSGEO4W Démarrer> Fichiers de programme> osgeo4w. Lancez Python ou lancez un script Python à partir de là.
DavidF
8
Essayezfrom osgeo import gdal
DavidF
3
@scw, envisagez de regrouper les exemples tirés des commentaires dans votre réponse. Il sera plus facile de rassembler les informations pertinentes en un tout cohérent (en partie grâce à la possibilité de conserver la mise en forme du code). Votez les commentaires que vous utilisez pour créditer et reconnaître la source.
Matt Wilkie
6
Existe-t-il un moyen d'utiliser "from osgeo import gdal" à partir de mon shell Python principal au lieu d'utiliser le shell OSGEO?
Alexis Eggermont
58

Vous pouvez télécharger le package de roue GDAL à partir des fichiers binaires Windows non officiels de Christoph Gohlke pour les packages d'extension Python .

Il peut être installé à partir de cmd.exe en utilisant quelque chose comme:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Vous devez installer NumPy à partir du même endroit en utilisant une commande similaire)

Bien que le paquet ne soit pas construit par les développeurs OSGeo ou GDAL, il s'agit d'une distribution de haute qualité prenant en charge les dernières versions de GDAL compilées pour les versions 32 bits et 64 bits de Python. Aucune bibliothèque externe ne doit être ajoutée ou gérée!

La mise à jour définit même la GDAL_DATAvariable d'environnement, si elle n'est pas définie, et inclut un PostgreSQLpilote pour lire les données à partir de PostGIS.

Mike T
la source
2
+1 J'ai trouvé cette page une source inestimable de distributions Python pour Windows 64 bits
geographika
1
J'ai des difficultés avec le fonctionnement de ce programme d'installation car il ne parvient pas à détecter mes installations Python. J'ai python26 et python27 installés dans C:/Python2Xmais il ne peut pas le trouver .... tant pis! Choisissez 64 bits au lieu de 32 ....
djq
Cela a fonctionné pour moi beaucoup plus facilement que la réponse acceptée, car je ne souhaite pas une autre installation de Python et Numpy.
Ahmed Fasih
Ces lignes sont maintenant incluses avec l'installation.
Barbarossa
merci @Barbarossa, j'ai mis à jour cette réponse pour refléter l'état actuel du paquet.
Mike T
15

Une autre option consiste à installer la distribution Anaconda Python contenant des packages pour GDAL. Si vous comptez utiliser GDAL avec d’autres progiciels Python (scipy, pandas, scikit-learn, etc.), cela pourrait être une meilleure option que OSGeo4W. D'autre part, si vous souhaitez utiliser Python en combinaison avec un certain nombre de packages de télédétection et de SIG open source (GRASS, QGIS, etc.), OSGeo4W est probablement la meilleure option.

Vous pouvez obtenir la distribution complète d'Anaconda à l' adresse suivante : https://www.continuum.io/downloads qui contient de nombreux packages Python destinés à la «science des données» ou une installation minimale à l' adresse http://conda.pydata.org/miniconda. html

Dans le cadre de l’installation, il vous sera demandé d’ajouter au chemin principal (il est donc disponible depuis n’importe quel terminal).

Une fois configuré, GDAL peut être installé dans un nouvel environnement en utilisant:

conda create -n gdal_env -c conda-forge gdal

Puis l'activer comme show lorsque la commande se termine. L'installation dans un nouvel environnement est recommandée pour éviter les conflits avec d'autres packages et vous assurer que les variables d'environnement requises sont définies.

J'ai suggéré d'installer à partir du canal conda-forge ( https://conda-forge.github.io/ ) car ils sont très actifs pour maintenir à jour leurs versions de GDAL et s'assurer de leur compatibilité avec de nombreuses bibliothèques.

Une fois installés, les packages peuvent être mis à jour depuis l'environnement à l'aide de:

conda update gdal
danclewley
la source
1
C'est certainement la méthode la plus simple, surtout si vous envisagez d'installer d'autres paquets Python complexes (par exemple, scikit-learn, numpy)
bgordon
1
C'est bien! Particulièrement agréable en b / c, vous pouvez le faire aussi bien en ligne de commande qu'en python.
mmann1123
On peut également l'installer en allant dans "Environnements" et en sélectionnant l'environnement que l'on souhaite utiliser. Ensuite, recherchez "gdal" dans "Tous" des forfaits
Goncalo Peres
9

Je trouve que OSGEO4W est une mauvaise solution car il crée tout un univers parallèle, presque comme une machine virtuelle. J'ai pu installer GDAL et l'utiliser en python en suivant les étapes décrites ici (il s'agit du lien fourni par @ sys49152).

Il vous envoie à gisinternals.com. Cliquez sur le lien "Versions stables" pour accéder à: http://www.gisinternals.com/release.php

Vous devez maintenant choisir entre 32 et 64 bits et différentes versions du compilateur Microsoft Visual C ++. Notez que cela doit correspondre à votre version de python, pas à votre système d'exploitation. Dans mon cas, j'ai une fenêtre 64 bits, mais un python 2.7 32 bits (fourni avec ArcGIS).

Pour voir ce que vous avez, vous pouvez exécuter python sur la ligne de commande et un message comme celui-ci:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

J'ai donc besoin d'utiliser "release-1500"

J'ai sélectionné: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(les numéros de version de build changeront avec le temps)

J'ai d'abord téléchargé et installé le "programme d'installation générique des composants de base de GDAL": gdal-111-1500-core.msi

Et ajouté le chemin et d'autres variables comme décrit ici .

Ajouter au chemin: C:\Program Files (x86)\GDAL Créer des variables d'environnement: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Ensuite, j'ai téléchargé et installé le module Python pour Python 2.7. GDAL-1.11.3.win32-py2.7.msi

Et après cela, en python j'ai pu faire

from osgeo import gdal
ds = gdal.Open('file.tif')

etc.

RobertH
la source
Bien documenté, étape par étape. Je vous remercie.
Cotton.Rockwood
6

Je sais que le programme d’installation d’OSGEO a été mentionné, mais comme GuidoS l’a dit, cela ne fonctionne que si vous êtes sur le shell osgeow, ce qui est bien si tout ce que vous faites est du python de base. Si vous ne l'êtes pas, il est fort probable que vous deviez soit réinstaller le paquet, puis exécuter votre app / plugin à partir de ce dossier, soit compiler toutes les dépendances de gdal, puis l'installer à nouveau.

Ce qui fonctionne pour moi c'est:

  • Dans PyDev / Eclipse (pas mon IDE principal), j'ajoute la liste des bibliothèques à l'interpréteur python par défaut
  • Utilisez la console intégrée pour exécuter les fichiers
dassouki
la source
3
Vous pouvez définir o4w python comme python par défaut du système, par exemple le rendre accessible à tous en l'ajoutant au registre du système. Il existe un script python pour le faire sur les fenêtres 32 bits à l' adresse trac.osgeo.org/osgeo4w/ticket/114 (64 bits doivent être ajoutés à la main).
Matt Wilkie
5

Ce n'est vraiment pas si difficile à faire. Je l'ai compilé plusieurs fois avant d'utiliser Visual Studio sans aucun problème. Suivez simplement les instructions ici: texte du lien .

C'est assez simple, il suffit de lire le fichier makefile.vc bien documenté et de définir les répertoires appropriés, notamment celui de Python. Une fois qu'il est construit, vous devriez avoir construit un module Python que vous pourrez ensuite copier sur votre installation Python, ce que j'ai toujours fait manuellement, mais il existe probablement une méthode plus appropriée.

Leigh MacDonald
la source
5

Les deux principales réponses de @SCW et @ Mike Toews sont excellentes. Le site répertorié par Mike est destiné aux fichiers binaires non officiels - ce qui était très utile lorsque GDAL 64 bits n’était pas facilement disponible (au moment où il écrivait sa réponse), mais cela fait maintenant un certain temps. J'ai ajouté cette réponse alternative ici car, bien que je l'ai mentionné à maintes reprises, elle continue de surgir et ce wiki est peut-être un meilleur endroit pour l'exprimer.

Si vous souhaitez installer uniquement les fichiers binaires GDAL pour Python sur une machine Windows, je demanderais aux installateurs de l'excellent site SIG Internals . Ce site est lié à la page officielle des fichiers binaires GDAL / OGR . Cela vous donne accès à GDAL via une installation Python normale sans avoir besoin d'utiliser le shell osgeow. Les fichiers binaires ici sont régulièrement mis à jour et compilés avec différentes versions de Visual Studio (choisissez donc en fonction des exécutions que vous avez installées).

MappaGnosis
la source
Ce n'est pas un problème d'avoir plusieurs runtimes MSVC installés sur le même ordinateur. Si vous avez besoin de pilotes spéciaux tels que ECW et MrSid, notez qu'il existe différentes opportunités compilées sous les différentes plates-formes MSVC. Il suffit de suivre le informationlien et de voir les différences.
AndreJ
4

Comme les autres contributeurs, je conseille de choisir le programme d'installation OSGEO4W .

Si pour quelque raison que ce soit, vous ne voulez pas ou ne pouvez pas l'utiliser, consultez la documentation des packages Python sur gdal http://pypi.python.org/pypi/GDAL/

Vous découvrirez, par exemple, qu'il existe des binaires gdal sur le site Web d'OSGEO.

ThomasG77
la source
2

J'utilise FWTools dans Windows XP. Il comprend une installation Python avec les bibliothèques GDAL. Après l’installation, exécutez simplement vos scripts Python à partir de FWTools Shell .

Jaime Soto
la source
1
FWTools était un bon outil à l'époque, mais il n'a pas eu de mises à jour depuis. Je suggère de passer à gisinternlas qui est toujours activement maintenu.
AndreJ
0

Je l’ai fait hier à la suite de ce tutoriel http://www.gis.usu.edu/~chrisg/python/2009/docs/gdal_win.pdf. Cela m’a bien fonctionné.

Jorge Vidinha
la source
1
Veuillez résumer le concept principal ici, sinon cette réponse pourrait devenir inutile lorsque les liens se briseront.
underdark