CÓMO

Configurar un canal Conda local para instalar la API de Python de ArcGIS

Last Published: September 1, 2021

Resumen

La API de Python de ArcGIS se distribuye a través de Conda, un popular sistema de administración de paquetes y entornos para desarrolladores de Python. La forma recomendada de instalar esta API se describe en la Guía de la API de Python de ArcGIS. Para aquellos clientes que deseen instalar la API en equipos no conectados a red o en estaciones de trabajo que se encuentran en una red aislada, las instrucciones de instalación se proporcionan en la sección Instalación sin conexión de la guía.

Para usuarios avanzados que desean usar la API desde Miniconda (es decir, desde la línea de comandos de Python de ArcGIS Pro, con tecnología de Miniconda) en entornos desconectados, la forma recomendada es crear un canal Conda local en su ubicación e instalar la API desde ese canal. El canal local incluirá un conjunto finito de dependencias que la API requiere. Los usuarios tienen la opción de descargar y alojar cualquier número de paquetes de Python adicionales en ese canal.

Este artículo describe los pasos para crear un canal Conda sin conexión para la API de Python de ArcGIS. Tenga en cuenta que es necesario tener un equipo con conexión a Internet, Anaconda instalado y un shell de Python 3.5 con el paquete requests instalado.

Procedimiento

Junto con este artículo de la base de conocimiento se proporcionan dos archivos: arcgis_v1_dependencies (un archivo de texto con una lista de las dependencias para la API de Python de ArcGIS) y download_dependencies (un script de Python para descargar dependencias desde el canal anaconda). Descargue estos Archivos complementarios antes de comenzar los pasos siguientes.

  • arcgis_v1_dependencies.txt
  • download_dependencies.py

Configurar un entorno para ejecutar el script de Python de descarga

Instale Anaconda. Ejecute los siguientes comandos en su terminal en el entorno raíz, para instalar los paquetes conda-build y requests requeridos:

$ conda install conda-build $ conda install requests

En nuevo entorno está ahora activo y preparado.

Descargar dependencias

Descargue el script de Python y el archivo de texto complementarios en la misma ubicación. A continuación, ejecute el script adjunto download_dependencies.py como se muestra a continuación:

$ python download_dependencies.py

El script descarga todas las dependencias desde el canal online anaconda.org y lo almacena localmente. La ejecución del script crea una salida similar a la siguiente:

Utilizando el archivo de lista de entornos: .\ 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 ....

A medida que se descarga, crea carpetas con la siguiente estructura:

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


Indexar el canal Conda local

Una vez finalice el script, Conda debe indexar esta ubicación. Conda crea en cada una de estas carpetas un archivo de manifiesto, repodata.json, que resume los paquetes presentes. Esto ayuda al Conda de los equipos de sus usuarios a tratar esta ubicación como un canal local y buscar e instalar paquetes desde esta ubicación en lugar de desde Internet.

Cree el índice escribiendo los siguientes comandos:

$ 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

La ejecución de los comandos ofrece una salida similar a la siguiente:

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

Una vez completado este paso, mueva la carpeta raíz a una ubicación en red o un servidor web, o utilícela localmente como su canal Conda local.

Instalar desde el canal Conda local

Instale Anaconda o Miniconda en el equipo no conectado a red. A continuación, busque paquetes en el canal local para asegurarse de que el canal funciona:

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

Por ejemplo, en un equipo con Windows, sería algo así:

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

El comando devuelve un resultado similar al siguiente:

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

Ahora que ArcGIS y todas sus dependencias se pueden buscar, la instalación puede continuar. Cree un nuevo entorno Conda o, en el entorno raíz, instale el paquete de ArcGIS:

conda create --name awesome_arcgis python [this step is optional]

Ahora instale ArcGIS desde el canal Conda:

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

Se imprime lo siguiente y continúa la instalación tras solicitar la confirmación del usuario:

$ 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)? y .... Enabling notebook extension arcgis/mapview... - Validating: ok

Asegúrese de que ArcGIS esté instalado ejecutando una lista de Conda:

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

Probar la instalación sin conexión

Si el paquete de ArcGIS se instaló en un nuevo entorno, actívelo. A continuación, desde su terminal, ejecute el siguiente comando:

jupyter notebook

Este comando inicia un nuevo entorno de notebook en el navegador. Inicie un nuevo notebook y escriba lo siguiente:

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

Se debería mostrar el widget de mapa y cargar el mapa base predeterminado.

Sugerencias y trucos

Diferencias de SO

  • En función del sistema operativo que ejecute el script, puede ser necesario reemplazar las barras diagonales inversas por barras diagonales (en un SO basado en Unix, como Mac, Linux, etc.).
  • El script de Python descarga los paquetes para todas las arquitecturas de SO. Así, aunque los equipos de destino tengan distintos sistemas operativos, no es necesario volver a ejecutar los pasos de descarga y creación de índice. Habilite la disponibilidad del canal para los equipos de destino en un servidor web o en una unidad de red, o copiando físicamente a esos equipos e instalando desde esa ubicación.

Crear un archivo

Si desea archivar el canal para su uso posterior o su almacenamiento, puede hacerlo empaquetando la carpeta del canal de nivel raíz y todas sus subcarpetas en un archivo tar. Utilice los comandos siguientes para ello. En Windows, utilice PowerShell como terminar para ejecutar estos comandos:

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

Al ejecutar este script, se imprime una salida similar a la siguiente:

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

Para desempaquetar este archivo para su uso posterior, ejecute el siguiente comando:

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

Id. de artículo:000014951

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema