Skip To Content

Runtime Python 3 pour ArcGIS Server sur Linux

ArcGIS Server permet d’utiliser un runtime Python 3 pour les scripts ArcPy de ligne de commande. Python 3.x est installé avec ArcGIS Server, mais vous pouvez installer un paquetage de runtime Python 3 qui simplifie l’utilisation dePython 3 avec ArcGIS Server.

Prise en main

Python propose des bibliothèques tierces que vous pouvez utiliser dans ArcGIS. Pour autant, il peut vous sembler laborieux de gérer quels paquetages sont installés ou non, en particulier si vous travaillez sur plusieurs projets simultanément ou si vous essayez de partager du code avec d’autres utilisateurs. Pour simplifier l’utilisation du runtime Python 3 sur ArcGIS Server pour Linux, utilisez conda pour télécharger et installer le paquetage arcgis-server-py3.

Si vous ne disposez pas déjà de conda, vous pouvez le télécharger depuis le site web Anaconda.

Pour accéder aux fonctions Python d’ArcGIS, notamment ArcPy, installez le paquetage arcgis-server-py3. Dans un environnement conda, utilisez la commande suivante pour installer Python 3 :

conda install -c esri arcgis-server-py3=<ArcGIS Server version>

La valeur <version> indique la version actuelle de la bibliothèque, qui est la même que votre version actuelle de ArcGIS Server, au format n.n.n. Par exemple, pour ArcGIS Server 11, procédez comme suit :

conda install -c esri arcgis-server-py3=11.0

L’installation du paquetage arcgis-server-py3 permet d’ajouter ArcPy, y compris les outils de géotraitement pris en charge et tous les prérequis tiers.

Si vous n’installez pas le paquetage arcgis-server-py3, vous devez appeler Wine lorsque vous exécutez le fichier python.exe installé dans /arcgis/server/framework/runtime/ArcGIS/bin/Python/envs/arcgispro-py3/ dans le répertoire d’installation ArcGIS Server.

Migration

L’utilisation du paquetage d’exécution Python 3 avec ArcGIS Server diffère de l’utilisation de Python 2 avec ArcGIS Server. Il existe deux variations principales à prendre compte : les différences au sein même de ArcPy et les changements de version Python.

Modifications des fonctions dans ArcPy

De nombreux outils de géotraitement restent disponibles dans le runtime Python 3 pour ArcGIS Server, à l’exception de quelques-uns. Les outils des boîtes à outils Atelier parcellaire (ArcMap), Schematics et Tracking Analyst ne sont pas inclus. Les outils supplémentaires d'autres boîtes à outils ne sont pas disponibles non plus. Pour obtenir une liste exhaustive des outils de géotraitement pris en charge, consultez le fichier readme qui se trouve dans le paquetage arcgis-server-py3.

Le module arcpy.mapping a été supprimé et remplacé par un module arcpy.mp dans ArcGIS Pro. Le module arcpy.na comprend également des modifications, dont beaucoup portent sur le remplacement de arcpy.mapping par arcpy.mp.

Changement de version Python

Le module d’exécution ArcGIS Server Python utilise Python 3. Il s’agit d’un changement de taille. La gamme des versions de Python 3 n’est pas compatible avec celle de Python 2. Bien que le langage soit fondamentalement identique, de nombreux détails importants ont été fortement remaniés, notamment en ce qui concerne le fonctionnement des chaînes et des dictionnaires, ainsi que l’organisation de la bibliothèque standard.

Pour l’instant, la communauté Python a transféré la plupart des principales bibliothèques tierces vers Python 3. De plus, au sein de la communauté Python, il a été convenu d’utiliser Python 3 pour tous les nouveaux projets de développement.

ArcGIS Server ne prend plus en charge Python 2.7. Pour continuer à utiliser votre code Python avec ArcGIS Server, vous devez vérifier qu’il fonctionne dans Python 3.

Si vous effectuez une conversion de code unilatérale de Python 2 à Python 3, vous pouvez utiliser un utilitaire de ligne de commande 2to3 pour automatiser une grande partie du processus. Il est important de noter que l’outil 2to3, quoique excellent, n’est pas une solution complète (solution à 95 %, selon certaines estimations) et que des modifications supplémentaires peuvent se révéler nécessaires.

N’oubliez pas que des scripts Python plus simples n’ont pas forcément besoin d’être modifiés et peuvent fonctionner correctement sans modification.


Dans cette rubrique
  1. Prise en main
  2. Migration