HOW TO
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.
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.
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.
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
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 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 ...
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.
Betriebssystemabhängige Unterschiede
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
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen