Ab ArcGIS Enterprise 10.5 ist eine Python 3-basierte Conda-Umgebung in ArcGIS Server enthalten.
Die Python-Installation von ArcGIS Server enthält Pakete wie beispielsweise numpy und matplotlib. Wenn Sie jedoch zusätzliche benutzerdefinierte Python-Pakete installieren möchten, führen Sie die folgenden Schritte aus.
Services, die aus ArcGIS Pro veröffentlicht werden
Wie in ArcGIS Pro werden in ArcGIS Server Python-Umgebungen mit Conda verwaltet. Ab ArcGIS Server 10.7.1 können Sie für alle Geoverarbeitungsservices eine Python-Umgebung festlegen. Ab ArcGIS Server 10.8.1 können Sie für einzelne Geoverarbeitungsservices eine Python-Umgebung festlegen.
Die folgenden Schritte gelten für Geoverarbeitungsservices, die über ArcGIS Pro oder mit ArcPy veröffentlicht wurden. Weitere Informationen zur Python-Umgebung in ArcGIS Pro finden Sie unter Python in ArcGIS Pro. Es wird empfohlen, die Python-Standardumgebung zu klonen, um Aktualisierungen durchzuführen. Es kann nur jeweils eine Python-Umgebung für ArcGIS Server aktiviert sein.
Weitere Informationen zum Verwenden von und Arbeiten mit Conda finden Sie in der Einführung zu Conda.
Festlegen einer Python-Umgebung für alle Geoverarbeitungsservices
Führen Sie für jeden Computer Ihrer Site die folgenden Schritte aus, um mit ArcGIS Server Python-Pakete von Drittanbietern bereitzustellen:
- Melden Sie sich bei Ihrem ArcGIS Server-Computer an, und öffnen Sie das Eingabeaufforderungsfenster als Administrator.
- Ändern Sie das Verzeichnis in <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
- Klonen Sie die Python-Standardumgebung des Servers mit einem neuen Umgebungsnamen. Der vorgeschlagene Speicherort befindet sich im Python-Umgebungsverzeichnis der ArcGIS Server-Installation. Führen Sie den Befehl conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts unter Verwendung eines newenvname-Beispiels aus. Ersetzen Sie das Präfix durch Ihr Installationsverzeichnis und den neuen Umgebungsnamen. Alternativ können Sie einen Speicherort außerhalb des Installationsverzeichnisses angeben.
- Um die geklonte Umgebung zu aktivieren, führen Sie conda proswap -n newenvname --all-users aus. Falls Sie sich als Benutzer eines ArcGIS-Server-Kontos bei Ihrem Computer angemeldet haben, ist die Angabe des Arguments --all-users optional; andernfalls ist das Argument erforderlich. Wenn sich Ihre geklonte Conda-Umgebung außerhalb des vorgeschlagenen Speicherorts befindet, geben Sie den vollständigen Pfad zu dem Speicherort unter Verwendung von conda proswap -p "<full-path-to-cloned-directory>" --all-users an.
- Installieren Sie die Python-Pakete von Drittanbietern, indem Sie conda install ausführen. Verwenden Sie pip install nur, wenn conda install nicht verfügbar ist.
- Starten Sie den ArcGIS Server-Service neu. Es dauert einige Minuten, bis alle Services wieder online sind.
- Wiederholen Sie bei einer Bereitstellung auf mehreren Computern die Schritte 1 bis 6 für alle anderen Computer der ArcGIS Server-Site.
Hinzufügen weiterer Pakete
Führen Sie die folgenden Schritte aus, um der vorhandenen Conda-Umgebung weitere Pakete hinzuzufügen:
- Melden Sie sich bei Ihrem ArcGIS Server-Computer an. Je nach Speicherort Ihrer vorhandenen Conda-Umgebung benötigen Sie eventuell Administratorberechtigungen.
- Öffnen Sie die Python 3-Befehlszeile über das Startmenü. Je nach Betriebssystem kann sie sich im ArcGIS Server-Ordner befinden. Wenn sie nicht im Startmenü angezeigt wird, können Sie die Datei proenv.bat unter <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts starten.
- Führen Sie conda install für die Pakete aus, die bereitgestellt werden müssen. Verwenden Sie pip install nur, wenn conda install nicht verfügbar ist.
- Starten Sie den Geoverarbeitungsservice in ArcGIS Server Manager neu.
- Starten Sie optional den ArcGIS Server-Service neu. Alle Services werden in wenigen Minuten neu gestartet.
- Wenn Sie über eine Bereitstellung auf mehreren Computern verfügen, wiederholen Sie die Schritte 1 bis 5 für jeden Computer der ArcGIS Server-Site.
Festlegen einer Python-Umgebung für einen einzelnen Geoverarbeitungsservice
Führen Sie die folgenden Schritte aus, um die Python-Standardumgebung des Servers zu klonen, Python-Pakete von Drittanbietern zu installieren und die Service-Eigenschaften des Geoverarbeitungsservice zu bearbeiten:
- Melden Sie sich bei Ihrem ArcGIS Server-Computer an, und öffnen Sie die Python 3-Befehlszeile aus dem Startmenü. Es wird empfohlen, die Eingabeaufforderung als Administrator auszuführen, sonst können Sie die Umgebung in bestimmten Verzeichnissen möglicherweise nicht klonen.
- Klonen Sie die Python-Standardumgebung des Servers im Python-Umgebungsverzeichnis der ArcGIS Server-Installation mit einem neuen Umgebungsnamen, z. B. newenvname. Verwenden Sie dazu den Befehl conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts. Ersetzen Sie das Präfix durch Ihr Installationsverzeichnis und den neuen Umgebungsnamen. Zum Klonen der Umgebung in anderen Verzeichnissen außerhalb des ArcGIS Server-Installationsverzeichnisses führen Sie conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname" --pinned --no-shortcuts aus.
- Aktivieren Sie die neue Umgebung mithilfe von activate newenvname im Eingabeaufforderungsfenster. Wenn Sie ein Verzeichnis außerhalb des Python-Umgebungsverzeichnisses der ArcGIS Server-Installation verwenden, stellen Sie den vollständigen Pfad zu der geklonten Umgebung mit activate <fullpath>\outsideenvname bereit.
- Installieren Sie die Python-Pakete mit conda install packagename=version. Auch wenn es nicht erforderlich ist, sollten Sie darauf achten, dass die für die Veröffentlichung in ArcGIS Pro verwendete Paketversion und die auf dem Server installierte Paketversion übereinstimmen.
- Wechseln Sie nach der Installation aller Pakete zum ArcGIS Server-Administratorverzeichnis. Navigieren Sie unter Resources unten auf der Seite zu Services.
- Wählen Sie den Geoverarbeitungsservice aus, für den Sie eine Python-Umgebung festlegen möchten.
- Klicken Sie unter Supported Operations unten auf der Seite auf Edit.
- Fügen Sie in der Service-JSON das Schlüsselwertpaar "condaEnvironmentPath": "newenvname" oder "condaEnvironmentPath": "<full path to newenvname>" zu den Service-Eigenschaften hinzu, wenn die geklonte Umgebung sich im Python-Umgebungsverzeichnis der ArcGIS Server-Installation befindet. Wenn Sie ein Verzeichnis außerhalb des Python-Umgebungsverzeichnisses der ArcGIS Server-Installation verwenden, müssen Sie den vollständigen Pfad zu der geklonten Umgebung angeben. Im Folgenden finden Sie eine vereinfachte JSON-Datei der Service-Eigenschaften mit der neuen condaEnvironmentPath-Eigenschaft:
Bereitstellen von benutzerdefinierten Python-Paketen für ArcGIS Server Simplified service properties with a cloned Python environment in the ArcGIS Server installation's Python environment directory.
{ "serviceName": "gvonly", "type": "GPServer", "description": "", "allowedUploadFileTypes": "", "properties": { "toolbox": "C:\\arcgisserver\\directories\\arcgissystem\\arcgisinput\\gvonly.GPServer\\extracted\\p30\\gvonly.tbx", "condaEnvironmentPath": "newenvname", "showMessages": "INFO" }, "portalProperties": { "isHosted": false, "portalItems": [{ "itemID": "4921223df97744a593d0b776666b9da9", "type": "GPServer" }] }, "extensions": [{ "typeName": "WPSServer", "properties": { "serviceType": "", "name": "" } }], "frameworkProperties": {}, "datasets": [] }
- Klicken Sie auf die Schaltfläche Save Edits, um die Änderungen zu speichern.
Der Service wird automatisch neu gestartet.