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

  1. Melden Sie sich mit dem ArcGIS Server-Konto 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 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". Ersetzen Sie das Präfix durch Ihr Installationsverzeichnis und den neuen Umgebungsnamen.
  4. Um die geklonte Umgebung zu aktivieren, führen Sie proswap newenvname aus.
  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 auf der Registerkarte Dienste des Windows Task-Managers oder mit "Windows-Dienste" 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.

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.
  2. Öffnen Sie die Python 3-Befehlszeile über das Startmenü. Je nach Betriebssystem kann sie sich im ArcGIS Server-Ordner befinden.
  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. Optional können Sie den ArcGIS Server-Service auf der Registerkarte Dienste des Windows Task-Managers neu starten. Alle Services sind nach ein paar Minuten wieder online.
  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 über das Startmenü. Es wird empfohlen, die Eingabeaufforderung als Administrator auszuführen, da Sie die Umgebung andernfalls möglicherweise in bestimmten Verzeichnissen nicht klonen können.
  2. 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". Ersetzen Sie das Präfix durch Ihr Installationsverzeichnis und den neuen Umgebungsnamen. Um die Umgebung in anderen Verzeichnissen außerhalb des ArcGIS Server-Installationsverzeichnisses zu klonen, führen Sie conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname" 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, geben Sie den vollständigen Pfad zu der geklonten Umgebung mit activate <fullpath>\outsideenvname an.
  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. 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 JSON-Datei des Service den Service-Eigenschaften das Schlüsselwertpaar "condaEnvironmentPath": "newenvname" hinzu, wenn sich die geklonte Umgebung im Python-Umgebungsverzeichnis der ArcGIS Server-Installation befindet. Wenn Sie ein Verzeichnis außerhalb des Python-Umgebungsverzeichnisses der ArcGIS Server-Installation verwenden, geben Sie den vollständigen Pfad zu der geklonten Umgebung an. Im Folgenden finden Sie eine vereinfachte JSON-Datei der Service-Eigenschaften mit der neuen condaEnvironmentPath-Eigenschaft.

    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.
  10. Der Service wird automatisch neu gestartet.