Skip To Content

Bereitstellen von benutzerdefinierten Python-Paketen für ArcGIS Server

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 unten aufgeführten 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 Python ArcGIS Server-Pakete von Drittanbietern bereitzustellen:

  1. Melden Sie sich bei Ihrem ArcGIS Server-Computer an, und öffnen Sie das Eingabeaufforderungsfenster als Administrator.
  2. Ändern Sie das Verzeichnis in <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  3. Klonen Sie die Python-Standardumgebung des Servers mit einem neuen Umgebungsnamen. Der vorgeschlagene Speicherort befindet sich im ArcGIS Server-Umgebungsverzeichnis der Python-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.
  4. Führen Sie conda proswap -n newenvname --all-users aus, um die geklonte Umgebung zu aktivieren.

    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 die 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.

  5. 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.

  6. Starten Sie den ArcGIS Server-Service neu.

    Es dauert einige Minuten, bis alle Services wieder online sind.

  7. 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:

  1. Melden Sie sich bei Ihrem ArcGIS Server-Computer an. Je nach Speicherort Ihrer vorhandenen Conda-Umgebung benötigen Sie eventuell Administratorberechtigungen.

    Je nach Speicherort Ihrer vorhandenen Conda-Umgebung benötigen Sie eventuell Administratorberechtigungen.

  2. Ö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 proenv.bat unter <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts starten.
  3. 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.

  4. Starten Sie den Geoverarbeitungsservice in ArcGIS Server Manager neu.
  5. Starten Sie optional den ArcGIS Server-Service neu.

    Alle Services werden in wenigen Minuten neu gestartet.

  6. 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:

  1. 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.

  2. Klonen Sie die Python-Standardumgebung des Servers im newenvname-Umgebungsverzeichnis der ArcGIS Server-Installation mit einem neuen Umgebungsnamen, z. B. Python. 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.
  3. 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.
  4. 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.

  5. Wechseln Sie nach der Installation aller Pakete zum ArcGIS Server-Administratorverzeichnis, und navigieren Sie unter Resources unten auf der Seite zu Services.
  6. Wählen Sie den Geoverarbeitungsservice aus, für den Sie eine Python-Umgebung festlegen möchten.
  7. Klicken Sie unter Supported Operations unten auf der Seite auf Edit.
  8. 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 ArcGIS Server-Umgebungsverzeichnisses der Python-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": []
    }

  9. Klicken Sie auf die Schaltfläche Save Edits, um die Änderungen zu speichern.

Der Service wird automatisch neu gestartet.

Durchführen eines Upgrades einer geklonten Python-Umgebung nach einem ArcGIS Server-Upgrade

Bei einem Upgrade von ArcGIS Server auf eine neuere Version war es bisher erforderlich, die zuvor geklonten Umgebungen zu verwerfen. Danach mussten Sie die Python-Umgebung der aktualisierten ArcGIS Server-Version klonen und die Services neu konfigurieren.

Verwenden Sie in ArcGIS Server 11.0 den Befehl conda proup, um ein Upgrade der geklonten Python-Umgebungen früherer ArcGIS Server-Versionen durchzuführen. Gehen Sie dazu wie folgt vor:

  1. Melden Sie sich bei Ihrem ArcGIS Server-Computer an, und öffnen Sie das Eingabeaufforderungsfenster als Administrator.
  2. Ändern Sie das Verzeichnis in <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  3. Aktivieren Sie die Conda-Umgebung, für die Sie das Upgrade durchführen möchten. Führen Sie dazu conda activate <environment name or path> aus.
  4. Aktualisieren Sie die Umgebung nach der Aktivierung, indem Sie entweder conda proup -n <environment name> oder conda proup -p <environment directory path> ausführen.
  5. Starten Sie nach dem Upgrade der Python-Umgebung alle von dieser Conda-Umgebung verwendeten Geoverarbeitungsservices neu, oder starten Sie den ArcGIS Server-Service neu.

Verwenden Sie conda proup --help, um weitere Informationen zum conda proup-Befehl zu erhalten. Diese Funktion kann nicht zum Herunterstufen einer Umgebung nach Herunterstufen von ArcGIS Server verwendet werden. Diese Funktion ist außerdem in einer nicht verbundenen Umgebung nicht verfügbar.