Skip To Content

Python 3-Runtime für ArcGIS Server unter Linux

ArcGIS Server ermöglicht die Verwendung einer Python 3-Runtime für Befehlszeilen-ArcPy-Skripte. Python 3.x wird mit ArcGIS Server installiert. Sie können jedoch ein separates Runtime-Paket für Python 3 installieren, das die Verwendung von Python 3 mit ArcGIS Server vereinfacht.

Erste Schritte

Python bietet Drittanbieterbibliotheken, die in ArcGIS genutzt werden können; die Verwaltung der installierten Pakete kann jedoch eine komplexe und zeitaufwändige Aufgabe sein, insbesondere, wenn an mehreren Projekten gleichzeitig gearbeitet oder Code für andere Benutzer freigegeben werden soll. Damit sich die Verwendung der Python 3-Runtime unter ArcGIS Server for Linux leichter gestaltet, sollten Sie conda oder Miniconda verwenden, um das arcgis-server-py3-Paket herunterzuladen und zu installieren. Für die Python 3-Runtime unter ArcGIS Server for Linux ist ein 64-Bit-Installationsprogramm erforderlich.

Conda oder Miniconda kann bei Bedarf von der Anaconda-Website heruntergeladen werden.

Legen Sie in einem Terminal die Variable "ARCGISHOME" auf das ArcGIS Server-Installationsverzeichnis fest, wenn Sie die conda-Umgebung für die Python 3-Runtime unter ArcGIS Server for Linux aktivieren: export ARCGISHOME=/path/to/arcgis/server.

Installieren Sie das arcgis-server-py3-Paket, um auf ArcGIS Python-Funktionen, einschließlich ArcPy, zuzugreifen. Verwenden Sie zur Installation der Python 3-Runtime unter ArcGIS Server for Linux in einer Conda-Umgebung den folgenden Befehl:

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

Der Wert <ArcGIS Server version> gibt die aktuelle Version der Bibliothek an, die mit Ihrer aktuellen ArcGIS Server-Version identisch ist, und zwar im Format n.n.n. Beispiel für ArcGIS Server 11.1:

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

Mit dem folgenden Befehl überprüfen Sie die Version des Pakets "arcgis-server-py3":

conda list arcgis-server-py3

Durch die Installation des arcgis-server-py3-Pakets werden ArcPy sowie unterstützte Geoverarbeitungswerkzeuge und alle Drittanbieteranforderungen hinzugefügt.

Falls Sie das arcgis-server-py3-Paket nicht installieren, müssen Sie Wine aufrufen, wenn Sie die python.exe-Datei ausführen, die unter path/to/arcgis/server/framework/runtime/ArcGIS/bin/Python/envs/arcgispro-py3/ im ArcGIS Server-Installationsverzeichnis installiert ist.

Migration

Die Verwendung der Python 3-Runtime mit ArcGIS Server unterscheidet sich von Python 2 für ArcGIS Server. Sie müssen zwei primäre Unterschiede berücksichtigen: die Unterschiede innerhalb von ArcPy und die Änderung der Python-Versionen.

Änderungen der Funktionalität in ArcPy

Bis auf einige Ausnahmen sind viele Geoverarbeitungswerkzeuge weiterhin in der Python 3-Runtime für ArcGIS Server verfügbar. Die Werkzeuge in den Toolboxes "Parcel Fabric" (ArcMap), "Schematics" und "Tracking Analyst" sind nicht enthalten. Zusätzliche Werkzeuge in anderen Toolboxes sind ebenfalls nicht verfügbar. Eine vollständige Liste der unterstützten Geoverarbeitungswerkzeuge finden Sie in der readme-Datei, die im arcgis-server-py3-Paket enthalten ist.

Das Modul arcpy.mapping wurde entfernt und durch das Modul arcpy.mp in ArcGIS Pro ersetzt. Das Modul arcpy.na umfasst außerdem Änderungen, von denen viele mit der Änderung von arcpy.mapping in arcpy.mp in Beziehung stehen.

Python-Versionsänderung

In der ArcGIS Server Python-Runtime wird Python 3 verwendet. Dies stellt eine erhebliche Änderung dar. Die Releases in der Python 3-Serie sind nicht mit der Python 2-Serie kompatibel. Zwar ist der Großteil der Sprache identisch, aber viele wesentliche Details haben sich deutlich geändert, z. B. die Funktionsweise von Zeichenfolgen und Wörterbüchern oder der Aufbau der Standardbibliothek.

Mittlerweile wurden die meisten wichtigen Dritthersteller-Bibliotheken durch die Python-Community auf Python 3 portiert, und in der Python-Community wurde vereinbart, dass alle neuen Entwicklungsprojekte in Python 3 erfolgen.

ArcGIS Server bietet keine Unterstützung mehr für Python 2.7. Damit Sie Ihren Python-Code weiterhin in ArcGIS Server verwenden können, müssen Sie dessen Funktionsfähigkeit in Python 3 sicherstellen.

Bei einer einfachen Konvertierung von Python 2 zu Python 3 können Sie das Befehlszeilen-Dienstprogramm 2to3 verwenden, um einen Großteil des Vorgangs zu automatisieren. Es ist wichtig zu wissen, dass 2to3 ein ausgezeichnetes Werkzeug, aber keine komplette Lösung (mitunter als 95-Prozent-Lösung bezeichnet) ist, und dass möglicherweise zusätzliche Änderungen erforderlich sind.

Beachten Sie, dass bei einfacheren Python-Skripten möglicherweise keine Änderungen erforderlich sind und diese ohne Änderung in beiden Versionen korrekt ausgeführt werden können.


In diesem Thema
  1. Erste Schritte
  2. Migration