HOW TO

Einrichten eines lokalen Conda-Kanals zur Installation der ArcGIS Python API

Last Published: September 1, 2021

Zusammenfassung

Die ArcGIS Python API wird über Conda vertrieben – einem beliebten Paket- und Umgebungsmanagementsystem for Python-Entwickler. Die empfohlene Methode zur Installation dieser API ist im Handbuch zur ArcGIS Python API beschrieben. Kunden, die die API auf nicht in einem Netzwerk befindlichen Computern oder auf Workstations in einem isolierten Netzwerk installieren möchten, finden die entsprechenden Installationsanweisungen im Abschnitt zur Offline-Installation des Handbuchs.

Fortgeschrittene Benutzer, die die API in nicht verbundenen Umgebungen über Miniconda nutzen möchten (das heißt, über die Python-Eingabeaufforderung von ArcGIS Pro, die von Miniconda zur Verfügung gestellt wird), erstellen am besten einen lokalen Conda-Kanal und installieren die API über diesen Kanal. Der lokale Kanal umfasst bestimmte Abhängigkeiten, die die API erfordert. Die Benutzer können eine beliebige Anzahl an zusätzlichen Phyton-Paketen in diesem Kanal herunterladen und hosten.

In diesem Artikel werden die Schritte zum Erstellen eines Conda-Offlinekanals für die ArcGIS Python API beschrieben. Dafür ist ein Computer mit Internetverbindung erforderlich, auf dem Anaconda und eine Python 3.5-Shell mit dem Paket requests installiert ist.

Vorgehensweise

Zu diesem Knowledge-Base-Artikel gehören die zwei Dateien arcgis_v1_dependencies (eine Textdatei mit den Abhängigkeiten für die ArcGIS Python API) und download_dependencies (ein Python-Skript zum Herunterladen von Abhängigkeiten aus dem Anaconda-Kanal). Laden Sie diese unterstützenden Dateien herunter, bevor Sie die unten beschriebenen Schritte ausführen.

  • arcgis_v1_dependencies.txt
  • download_dependencies.py

Einrichten einer Umgebung zum Ausführen des heruntergeladenen Python-Skriptes

Installieren Sie Anaconda. Führen Sie folgende Befehle in Ihrem Terminal in der Root-Umgebung aus, um die erforderlichen Pakete conda-build und requests zu installieren:

$ conda install conda-build $ conda install requests

Die neue Umgebung ist nun aktiv und bereit.

Herunterladen von Abhängigkeiten

Laden Sie das Python-Skript und die Textdatei an denselben Speicherort herunter. Führen Sie dann das Skript "download_dependencies.py" wie unten gezeigt aus:

$ python download_dependencies.py

Über das Skript werden alle Abhängigkeiten vom Onlinekanal anaconda.org heruntergeladen und lokal gespeichert. Die Ausgabe des Skriptes sieht ungefähr so aus:

Using environment list file: .\ arcgis_v1_dependencies.txt Getting _nb_ext_conf-0.3.0-py35_0.tar.bz2 Downloaded win-64\_nb_ext_conf-0.3.0-py35_0.tar.bz2 Downloaded win-32\_nb_ext_conf-0.3.0-py35_0.tar.bz2 Downloaded linux-64\_nb_ext_conf-0.3.0-py35_0.tar.bz2 Downloaded linux-32\_nb_ext_conf-0.3.0-py35_0.tar.bz2 Error with download: osx-32 : Downloaded osx-64\_nb_ext_conf-0.3.0-py35_0.tar.bz2 Getting anaconda-client-1.5.5-py35_0.tar.bz2 Downloaded win-64\anaconda-client-1.5.5-py35_0.tar.bz2 Downloaded win-32\anaconda-client-1.5.5-py35_0.tar.bz2 Downloaded linux-64\anaconda-client-1.5.5-py35_0.tar.bz2 Downloaded linux-32\anaconda-client-1.5.5-py35_0.tar.bz2 Error with download: osx-32 : Downloaded osx-64\anaconda-client-1.5.5-py35_0.tar.bz2 ....

Während des Herunterladens werden Ordner mit folgender Struktur erstellt:

\\channel_root\ \linux-64 \linux-32 \osx-64 \osx-32 \win-64 \win-32 \noarch


Indizieren des lokalen Conda-Kanals

Nach Abschluss des Skriptes muss Conda diesen Speicherort indizieren. Conda erstellt die Manifest-Datei "repodata.json" in allen Ordnern, die die heruntergeladenen Pakete beschreibt. Dadurch kann Conda auf den Computern Ihrer Benutzer diesen Speicherort als lokalen Kanal behandeln und Pakete nicht im Internet, sondern in diesem Speicherort suchen und installieren.

Erstellen Sie den Index durch die Eingabe folgender Befehle:

$ conda index \\path\to\channel\win-64 $ conda index \\path\to\channel\win-32 $ conda index \\path\to\channel\linux-64 $ conda index \\path\to\channel\linux-32 $ conda index \\path\to\channel\osx-64 $ conda index \\path\to\channel\osx-32 $ conda index \\path\to\channel\noarch

Die Ausgabe der Befehle sieht ungefähr so aus:

$ conda index \\path\to\channel\win-64 updating index in: \\path\to\channel\win-64 updating: pywin32-220-py35_1.tar.bz2 updating: nb_conda_kernels-2.0.0-py35_0.tar.bz2 updating: requests-2.12.1-py35_0.tar.bz2 updating: pyzmq-16.0.2-py35_0.tar.bz2 updating: _nb_ext_conf-0.3.0-py35_0.tar.bz2 updating: ipywidgets-5.2.2-py35_0.tar.bz2 updating: decorator-4.0.10-py35_0.tar.bz2 ....

Übertragen Sie den Root-Ordner nach dem Abschluss dieses Schrittes in einen Netzwerk-Speicherort oder auf einen Webserver, oder verwenden Sie ihn als lokalen Conda-Kanal.

Installieren über den lokalen Conda-Kanal

Installieren Sie Anaconda oder Miniconda auf dem nicht in ein Netzwerk eingebundenen Computer. Suchen Sie dann im lokalen Kanal nach den Paketen, um den Kanal zu testen:

$ conda search --channel file://path/to/channel --override-channels

Verwenden Sie z. B. auf einem Windows-Computer folgenden Befehl:

$ conda search --channel D:/code/arcgis_offline_downloads/channel --override-channels

Die Ausgabe des Befehls sieht ungefähr so aus:

$ conda search --channel file://offline/arcgis_channel/channel --override-channels Fetching package metadata ..... _nb_ext_conf 0.3.0 py35_0 file://offline/arcgis_channel/channel anaconda-client 1.5.5 py35_0 file://offline/arcgis_channel/channel arcgis 0.9 py35_1 file://offline/arcgis_channel/channel clyent 1.2.2 py35_0 file://offline/arcgis_channel/channel colorama 0.3.7 py35_0 file://offline/arcgis_channel/channel decorator 4.0.10 py35_0 file://offline/arcgis_channel/channel ...

Da ArcGIS und alle zugehörigen Abhängigkeiten jetzt durchsuchbar sind, kann mit der Installation fortgefahren werden. Erstellen Sie eine neue Conda-Umgebung, oder installieren Sie in der Root-Umgebung das arcgis-Paket:

conda create --name awesome_arcgis python [Dieser Schritt ist optional.]

Installieren Sie jetzt ArcGIS über den Conda-Kanal:

activate awesome_arcgis conda install --channel //offline/arcgis_channel/channel arcgis --offline --override-channels

Danach wird Folgendes ausgegeben, und die Installation wird fortgesetzt, nachdem der Benutzer zur Bestätigung des Vorgangs aufgefordert wurde:

$ conda install -c //offline/arcgis_channel/channel arcgis --offline --override-channels Fetching package metadata ..... Solving package specifications: .......... Package plan for installation in environment C:\Anaconda3\envs\awesome_arcgis: The following packages will be downloaded: package | build ---------------------------|----------------- colorama-0.3.7 | py35_0 19 KB file://offline/arcgis_channel/channel decorator-4.0.10 | py35_0 12 KB file://offline/arcgis_channel/channel .... Proceed ([y]/n)? Enabling notebook extension arcgis/mapview... - Validating: ok

Ensure that ArcGIS is installed by running a Conda list:

$ conda list # packages in environment at C:\Anaconda3\envs\awesome_arcgis: # arcgis 0.9 py35_1 file://offline/arcgis_channel/channel colorama 0.3.7 py35_0 file://offline/arcgis_channel/channel decorator 4.0.10 py35_0 file://offline/arcgis_channel/channel ...

Testen der Offline-Installation

Wenn das ArcGIS-Paket in einer neuen Umgebung installiert wurde, aktivieren Sie es. Führen Sie dann in Ihrem Terminal den folgenden Befehl aus:

jupyter notebook

Dadurch wird eine neue Notebook-Umgebung im Browser gestartet. Starten Sie ein neues Notebook, und geben Sie Folgendes ein:

from arcgis.gis import GIS() gis = GIS("portal url", "username", "password") #connect to the ArcGIS Enterprise in your local network gis.map()

Dadurch wird das Karten-Widget aufgerufen und die Standardgrundkarte geladen.

Tipps und Tricks

Betriebssystemabhängige Unterschiede

  • Je nach Betriebssystem, in dem dieses Skript ausgeführt wird, müssen die umgekehrten Schrägstriche möglicherweise durch Schrägstriche ersetzt werden (z. B. in einem Unix-basierten Betriebssystem wie Mac, Linux usw.).
  • Mit dem Python-Skript werden die Pakete für alle Betriebssystemarchitekturen heruntergeladen. Auch wenn die Zielcomputer unterschiedliche Betriebssysteme aufweisen, ist es daher nicht notwendig, den Download und die Indexerstellung mehrmals auszuführen. Machen Sie den Kanal für die Zielcomputer entweder über einen Webserver oder ein Netzlaufwerk verfügbar, oder kopieren Sie ihn auf diese Computer und installieren ihn dann von diesem Speicherort.

Erstellen eines Archivs

Wenn Sie den Kanal zur späteren Verwendung oder zur Aufbewahrung archivieren möchten, können Sie den Kanalordner auf Root-Ebene und alle Unterordner in eine .tar-Datei komprimieren. Verwenden Sie dazu die folgenden Befehle. Verwenden Sie unter Windows die PowerShell als Terminal zum Ausführen dieser Befehle:

$ tar -zcvf arcgis_v1_offline_channel.tar.gz path/to/channel/

Die Ausgabe ähnelt der folgenden:

a channel a channel/.DS_Store a channel/linux-32 a channel/linux-64 a channel/osx-32 a channel/osx-64 a channel/win-32 a channel/win-64 a channel/win-64/.index.json a channel/win-64/_nb_ext_conf-0.3.0-py35_0.tar.bz2 a channel/win-64/anaconda-client-1.5.5-py35_0.tar.bz2 a channel/win-64/arcgis-1.0-py35_1.tar.bz2 a channel/win-64/clyent-1.2.2-py35_0.tar.bz2 ....

Um dieses Archiv später zu entpacken, nutzen Sie folgenden Befehl:

$ tar -zxcf arcgis_v1_offline_channel.tar.gz -C ./arcgis_channel

Artikel-ID:000014951

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden