Rechercher dans le blog

Installer et utiliser l’API Python d'ArcGIS dans son propre environnement

Comme promis, on se retrouve en ce début d'année pour le premier tutoriel sur l'API Python d'ArcGIS ! Mais avant de savoir quoi coder, on va se poser la question de coder. 
 
Dans les tutoriels, j'utilise souvent ArcGIS Notebooks. Disponible par défaut dans ArcGIS Online et ArcGIS Pro et via un rôle serveur additionnel dans ArcGIS Enterprise, cet environnement d'exécution offre plusieurs avantages : une intégration transparente à votre SIG web, la mise à disposition d'extraits de codes ou de scripts complets préconçus par Esri, mais aussi un environnement Python prêt à l'emploi, qui inclut les bibliothèques ArcGIS (ArcPy et l'API Python) ainsi que de nombreuses dépendances Python déjà installées, couramment utilisées pour la manipulation de données, l'analyse et l'automatisation.
Cette solution est donc très intéressante, car elle permet de se concentrer directement sur le développement plutôt que sur la configuration de l'environnement et assure des workflows très fluides pour travailler avec ArcGIS.

Mais dans certains cas, vous pourriez préférer conserver vos habitudes de développement (par exemple en utilisant votre IDE préféré) ou avoir à enrichir votre environnement avec des bibliothèques spécifiques. L'API Python d'ArcGIS étant distribuée via Pypi et Conda, il est totalement possible de l'installer et de l'utiliser dans l'environnement de votre choix, et nous allons voir comment dans cet article. Selon le cas de figure dans lequel vous vous trouvez, plusieurs options sont disponibles. Voici les différents points que cet article traitera :
  • Gestionnaire d'environnement ;
  • Installer l'API Python dans un environnement vierge ;
  • Étendre l'environnement par défaut d'ArcGIS Pro ;

Gestionnaire d'environnement

Pour simplifier la manipuler les environnements, il vous faut un gestionnaire d'environnement. Esri préconise une distribution Anaconda complète ou Miniconda :
  • Anaconda Distribution installe conda ainsi que de nombreux package Python pour les data science et une interface graphique pour travailler avec vos environnements conda.
  • Miniconda est une solution légère qui installe seulement Python, conda et les bibliothèques nécessaires pour l'exécution de conda.
Personnellement, je choisis la seconde option, Miniconda.
Une fois Miniconda ou Anaconda téléchargé et installé, vous pouvez exécuter l'Anaconda Prompt en le recherchant dans votre barre de recherche Windows.

Installer l'API Python dans un environnement vierge

Voici la syntaxe de base pour créer un environnement avec conda :
conda create -p CHEMIN\NOM_ENV python=VERSION [PACKAGES] 
Vous pouvez remplacer l'argument -p (qui donne le chemin complet personnalisé vers l'environnement et inclut son nom) par -n et donner uniquement son nom à l'env, qui s'enregistrera alors dans le dossier par défaut. 
Dans notre cas, par exemple (à personnaliser avec votre propre chemin d'accès) :
conda create -p D:\envs\env_arcgis python=3.13 
Vous devez ensuite activer votre environnement  :
conda activate D:\envs\env_arcgis  
Vous pouvez vérifier qu'il est bien activé car il apparait entre parenthèses :
Vous pouvez alors installer les bibliothèques de votre choix, par exemple ici l'API Python d'ArcGIS (notez que vous pouvez également effectuer cette étape au moment de la création de l'env) : 
conda install -c esri arcgis 
De cette manière, vous pouvez installer les environnements de votre choix, comme par exemple ipykernel si vous souhaitez l'utiliser dans un notebook. Conda a l'avantage de proposer une assez bonne résolution des conflits entre les différentes versions de bibliothèques.
 
Il ne vous reste plus qu'à définir ce nouvel environnement comme kernel d'exécution dans votre IDE.
Pour pouvoir utiliser le kernel dans Jupyter Notbook, il faut l'enregistrer grâce à cette ligne (vous pouvez modifier le nom d'affichage) :
python -m ipykernel install --user --name env_arcgis --display-name "Python (env_arcgis)" 

Étendre l'environnement par défaut d'ArcGIS Pro

Si ArcGIS Pro est déjà installé sur votre machine, vous pouvez profiter de son environnement Python prêt à l'emploi installé par défaut (arcgispro-py3), qui embarque déjà l'essentiel des dépendances nécessaires aux workflows SIG. Vous le trouverez dans le répertoire bin\Python\envs de votre installation, et pouvez l'utiliser comme kernel d'exécution dans votre IDE.
Cet environnement n'est pas modifiable directement, mais vous pouvez facilement créer un clone pour y ajouter les bibliothèque de votre choix. 
Vous avez deux options pour cela : 
  • passer par l'interface du gestionnaire de paquetage inclus dans ArcGIS Pro. Très simple à prendre en main si vous n'êtes pas habitué aux lignes de commandes, mais plutôt lent et avec une moins bonne résolution des conflits entre dépendances. Cette option vous limite également à l'ajout de paquetages présents dans une liste prédéfinie (bien qu'elle soit déjà très conséquente et couvre la grande majorité des usages) ;
  • utiliser Miniconda et les lignes de commande. Cette option est plus rapide, vous permet d'ajouter n'importe quel paquetage distribué via Conda, et présente moins de problèmes d'installation grâce à la résolution des conflits.
Voyons ensemble comment faire avec l'Anaconda Prompt. Pour cloner l'environnement, utiliser la commande suivante : 
conda create -p CHEMIN\NOM_ENV --clone NOM_ENV_EXISTANT  
en donnant le chemin d'accès complet vers l'environnement à cloner. Cette étape prend plusieurs minutes.
Vous devez ensuite activer votre environnement  :
conda activate D:\envs\env_arcgispro_clone
Il ne vous reste plus qu'à ajouter les paquetages de votre choix :
conda install NOM_DU_PAQUETAGE -c CANAL_DE_DISTRIBUTION
Vous pouvez enfin vous en servir comme kernel d'exécution dans votre IDE. 
 
C'est la fin de ce premier tutoriel ! Maintenant que vous pouvez gérer vos environnements Python sans problème, nous nous retrouvons bientôt pour la suite des tutoriels où nous allons pouvoir commencer à coder 🐍

Aucun commentaire:

Enregistrer un commentaire