Instrução

Configurar um canal Conda local para instalar o ArcGIS Python API

Last Published: September 1, 2021

Resumo

O ArcGIS Python API é distribuído via Conda - um pacote popular e sistema de gerenciamento de ambiente para desenvolvedores Python. A maneira recomendada de instalar esta API é descrita no Guia ArcGIS Python API. Para clientes que desejam instalar a API em computadores sem rede ou em estações de trabalho que estão em uma rede isolada, as instruções de instalação são fornecidas no Seção de instalação offline do guia.

Para usuários avançados que desejam usar a API do Miniconda (digamos, da janela de comando Python do ArcGIS Pro, que é alimentado pelo Miniconda) em ambientes desconectados, o caminho recomendado é criar um canal Conda local em suas instalações e instalar a API a partir desse canal. O canal local incluiria um conjunto finito de dependências que a API requer. Os usuários podem optar por baixar e hospedar qualquer número de pacotes Python adicionais nesse canal.

Este artigo descreve as etapas para criar um canal Conda offline da API ArcGIS Python. Observe que é necessário ter um computador com conexão à Internet, Anaconda instalado, e um shell Python 3.5 com o pacote de solicitações instalado.

Procedimento

Acompanhando este artigo da base de conhecimento estão dois arquivos, arcgis_v1_dependencies (um arquivo de texto listando as dependências da API ArcGIS Python) e download_dependencies, um script Python para baixar dependências do canal anaconda. Baixe esses Arquivos de suporte antes de iniciar as etapas abaixo.

  • arcgis_v1_dependencies.txt
  • download_dependencies.py

Configurando um ambiente para executar o download do script Python

Instale o Anaconda. Execute os seguintes comandos em seu terminal no ambiente raiz para instalar o conda-build necessário e os pacotes de solicitações:

$ conda install conda-build $ conda install requests

O novo ambiente agora está ativo e pronto.

Baixando dependências

Baixe o script Python que acompanha e o arquivo de texto no mesmo local. Em seguida, execute o script download_dependencies.py anexado conforme mostrado abaixo:

$ python download_dependencies.py

O script baixa todas as dependências do canal online anaconda.org e as armazena localmente. A execução do script cria e produz resultados semelhantes ao seguinte:

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

À medida que baixa, ele cria pastas com a seguinte estrutura:

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


Indexando o canal Conda local

Assim que o script terminar, Conda deve indexar este local. Conda constrói um arquivo de manifesto, repodata.json, em cada uma dessas pastas descrevendo os pacotes presentes. Isso ajuda o Conda nos computadores de seus usuários a tratar este local como um canal local e a pesquisar e instalar pacotes deste local em vez da Internet.

Crie o índice digitando os seguintes 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

Executar os comandos relata uma saída semelhante à seguinte:

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

Uma vez que esta etapa for concluída, transporte a pasta raiz para um local de rede ou um servidor web, ou use-a localmente como seu canal Conda local.

Instalando a partir do canal local da Conda

Instale o Anaconda ou Miniconda no computador não conectado à rede. Em seguida, pesquise pacotes no canal local para garantir que o canal funcione:

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

Por exemplo, em um computador Windows, seria assim:

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

O comando retorna um resultado semelhante ao seguinte:

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

Como o ArcGIS e todas as suas dependências agora podem ser pesquisadas, a instalação pode prosseguir. Crie um novo ambiente Conda ou, no ambiente raiz, instale o pacote arcgis:

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

Agora instale o ArcGIS a partir do canal Conda:

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

Isso imprime o seguinte e prossegue com a instalação após solicitar a confirmação do usuário:

$ conda install -c //offline/arcgis_channel/channel arcgis --offline --override-channels Fetching package metadata ..... Resolvendo especificações de pacote: .......... 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 .... Ativando extensão de notebook arcgis/mapview... - Validando: ok

Certifique-se que o ArcGIS esteja instalado, executando uma lista 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 ...

Teste a instalação offline

Se o pacote ArcGIS foi instalado em um novo ambiente, ative-o. Em seguida, em seu terminal, execute o seguinte comando:

jupyter notebook

Isso inicia um novo ambiente de notebook no navegador. Inicie um novo notebook e digite o seguinte:

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

Isso deve abrir o widget de mapa e carregar o mapa base padrão.

Dicas e truques

Diferenças do SO

  • Dependendo do sistema operacional que executa este script, pode ser necessário substituir as barras invertidas por barras normais (em um sistema operacional baseado em Unix, como Mac, Linux, etc.)
  • O script Python baixa os pacotes para todas as arquiteturas de sistema operacional. Portanto, mesmo se os computadores de destino forem de sistemas operacionais variados, não é necessário executar novamente as etapas de download e criação de índice. Disponibilize o canal para as máquinas de destino em um servidor web ou unidade de rede, ou copie fisicamente para essas máquinas e instale a partir desse local.

Construindo um arquivo

Se você deseja arquivar o canal para uso posterior ou para armazenamento, isso pode ser feito agrupando a pasta do canal de nível raiz e todas as suas subpastas em um arquivo tar. Use os seguintes comandos para fazer isso. Se estiver no Windows, use o PowerShell como o terminal para executar estes comandos:

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

Executar isso imprime uma saída semelhante à mostrada abaixo:

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 descompactar este arquivo para uso posterior, execute o seguinte comando:

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

ID do Artigo:000014951

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema