Nesta segunda parte vamos ver: Anaconda, Conda, Jupyter Notebooks e ArcGIS Pro

Agora que já entendemos o que é o ArcGIS API for Python com base na primeira parte do post deste artigo, vamos analisar as práticas recomendadas para instalar e usar a API, principalmente em outros produtos de software, como ArcGIS Pro e Jupyter Notebooks.

Primeiramente, precisamos fazer um desvio e falar brevemente sobre Anaconda, Conda e como eles estão relacionados ao ArcGIS Pro e ao ArcGIS API for Python.

Anaconda, Conda e ArcGIS Pro

Anaconda é um pacote de software gratuito e de código-fonte aberto que contém uma instalação Python e vários pacotes de Python, juntamente com uma interface com o usuário, permitindo que os usuários gerenciem ambientes e pacotes Python.

Ele também inclui o Conda, que é um sistema de gerenciamento de pacotes e ambientes. Conda também é um programa de back-end que explora outros programas, como Anaconda e Pro, e permite que eles gerenciem vários ambientes.

Além disso, o Conda permite que você gerencie pacotes em cada ambiente, garante que você tenha os pacotes mais recentes e monitora a interdependência dos pacotes. Por exemplo, se o pacote arcpy exigir uma versão específica do numpy, o Conda garantirá que você não atualize o numpy para além dessa versão. Portanto, o Conda reside no núcleo do Anaconda e gera boa parte de suas funcionalidades.

Também há certo nível de agrupamento entre o Conda e o Anaconda chamado Miniconda. O Miniconda inclui o Conda e a instalação básica da Python, enquanto o Anaconda inclui o Conda, a instalação básica, 150 módulos adicionais e uma interface com o usuário.

O Miniconda é instalado com o ArcGIS Pro, embora os usuários nunca interajam diretamente com ele, já que ele é executado em segundo plano no ArcGIS Pro.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 1
Diferenças entre Conda, Miniconda e Anaconda.

Gerenciando ambientes Python

Agora, vamos continuar a ver mais sobre o gerenciamento de ambientes. O que quero dizer com isso? Basicamente, um “ambiente Python” é uma pasta em um computador que inclui todos os arquivos necessários para executar o Python e quaisquer pacotes.

Se você instalar o ArcMap, o ambiente Python 2.7 será criado por padrão na pasta C:\Python27\ArcGISXX. Esse é o único ambiente que pode ser usado com o ArcMap e com a versão ArcMap do arcpy.

Por outro lado, ao instalar o ArcGIS Pro com o Miniconda, um ambiente Python padrão chamado arcgispro-py3 será criado na pasta C:\Program Files\ArcGIS\Pro\bin\Python\envs, mas você pode ter quantos ambientes diferentes quiser. Também é possível mudar o ambiente usado pelo ArcGIS Pro. Isso permite que você tenha diferentes combinações de pacote, o que pode ser útil ao lidar com interdependências conflitantes de pacotes (por exemplo, dois pacotes diferentes podem estar usando versões diferentes de um terceiro pacote).

Isso é particularmente útil ao trabalhar com ArcMap e ArcGIS Pro. Mesmo que você não tenha instalado manualmente duas versões da Python, já terá dois ambientes Python diferentes.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 2
Instalações do Python em um computador com ArcMap e ArcGIS Pro.

Como garantir que o script ou IDE com que você está trabalhando saiba qual versão da Python utilizar?

No passado, antes do Conda, mudar entre diferentes ambientes Python era algo desafiador. Para fazer isso, era necessário apontar cada script individualmente a ambiente correto ou alterar as variáveis de ambiente (PATH ou PYTHONPATH) que informam ao computador onde procurar o arquivo python.exe. Seria necessário fazer isso sempre que você mudasse de ambiente.

alguns problemas nesse fluxo de trabalho. Por exemplo, ele:

  • Exige que o usuário saiba o que está fazendo ao modificar as variáveis de caminho.

  • Afeta todos os programas Python.

  • Poderá resultar em problemas de software, principalmente se você tiver vários programas que usam Python ou várias instalações da Python.

  • Exige que os usuários saibam quais ambientes têm e onde eles estão.

  • Significa que a instalação de pacotes depende do usuário.

  • Não tem atualizações automáticas ou gerenciadas de pacotes; isso pode romper as interdependências dos pacotes.

O Conda resolve todos esses problemas:

  • Os usuários nunca precisam alterar as ambientes do sistema.

  • Diferentes programas podem usar diferentes ambientes Python.

  • Há menos chances de que o software será afetado, já que os usuários não mudam mais os caminhos da Python.

  • O ArcGIS Pro e o Anaconda têm interfaces intuitivas para gerenciar ambientes e pacotes.

  • O Conda monitora e atualiza as versões de pacotes e impede que os usuários instalem versões conflitantes de pacotes interdependentes.

Para acessar a funcionalidade do Conda, você pode usar o Anaconda, o ArcGIS Pro ou o prompt de comando.

Anaconda

No Anaconda, a interface permite que você crie, clone, importe e mude de ambientes. Além disso, é possível instalar, desinstalar e atualizar pacotes.

Um aspecto a observar é que, se você quiser instalar o pacote arcgis do ArcGIS API for Python no Anaconda, precisaria adicionar o Canal Esri ao Anaconda. Em seguida, o Conda teria acesso à instalação do arcgis e todas as atualizações de pacote.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 3
A interface do Anaconda.

Fique por dentro de todas as novidades do Portal GEO. Faça grátis sua inscrição!

Veja também:

Leia a 1ª parte deste artigo!

10 ações essenciais para ser um líder de GIS

Exagere nos seus mapas!

Geocodificação e roteamento mais precisos com o StreetMap Premium

O surgimento de uma nuvem geoespacial


ArcGIS Pro

No ArcGIS Pro, acesse Settings > Python (ou About ArcGIS Pro > Python nas versões anteriores) e gerencie os pacotes e ambientes.

Aqui, veja que tem dois ambientes: arcgispro-py3 e arcgispro-py3-clone1.

No ArcGIS Pro, o Canal Esri é adicionado por padrão. No entanto, no momento, não existe um método no ArcGIS Pro para adicionar outros canais.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 4
Gerenciando ambientes Python no ArcGIS Pro.

Prompt de comando

Por fim, é possível acessar o Conda no prompt de comando.

A forma mais fácil de trabalhar com o Conda no prompt de comando é usar o Python Command Prompt, que é instalado com o ArcGIS Pro. O Python Command Prompt é igual ao prompt de comando regular, mas já tem o ambiente e diretório padrão configurados.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 4
Gerenciando ambientes Python com o prompt de comando.

Na captura de tela acima, foi solicitado a lista de ambientes e a lista de pacotes. No prompt de comando, os comandos do Conda permitem que você faça o mesmo gerenciamento que pode fazer na interface com o usuário do Anaconda ou do ArcGIS Pro, mas exige saber quais são esses comandos.

Para saber mais sobre comandos do Conda, consulte a Ficha de Referência Rápida do Conda aqui.

Para se aprofundar um pouco mais no Python Command Prompt, há quatro partes em um comando:

  1. O ambiente. É o local da pasta do python.exe e está ao início da linha, entre parênteses.

  2. O diretório. É o local da pasta em que os arquivos de entrada são pesquisados e em que o resultado é salvo.

  3. O conjunto de ferramentas. O pacote usado para executar o comando.

  4. O comando ou a solicitação que você está fazendo ao pacote. O comando também pode incluir parâmetros.

Na captura de tela, você pode ver que foi usado o ambiente padrão do ArcGIS Pro, mas também a mesma pasta como o diretório. Nem sempre precisa ser assim, e você pode alterar o diretório para salvar arquivos em locais diferentes.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 5
Componentes do prompt de comando.

Quando devo usar o Anaconda e quando devo usar o ArcGIS Pro?

Depende do que você quer fazer. Geralmente, a Esri recomenda usar o ArcGIS Pro. A instalação do Miniconda no ArcGIS Pro é muito menor que uma instalação independente do Miniconda e, a partir do ArcGIS Pro 2.2, os pacotes arcpy e arcgis são instalados automaticamente. Antes do ArcGIS Pro 2.2, o pacote arcgis do ArcGIS API for Python precisava ser instalado à parte. O pacote arcpy só é disponível por meio de uma instalação do ArcGIS.

Um aspecto importante a reconhecer é que, dependendo do que você está fazendo, talvez queira usar o Anaconda ou o ArcGIS Pro — qualquer um dos dois. No entanto, não é recomendável ter o Anaconda e o ArcGIS Pro instalados em uma só máquina, já que isso causará problemas na variável PATH, parecido com o que acontece ao ter várias instalações da Python sem o Conda.

Conda e o ArcGIS API for Python

Agora que nos aprofundamos no Conda, como ele está relacionado ao ArcGIS API for Python? O Conda não é um requisito do ArcGIS API for Python. No entanto, o uso do Conda facilita o gerenciamento do pacote arcgis, principalmente já que o pacote arcgis é atualizado várias vezes por ano e tem várias dependências de outros pacotes de Python. Além disso, se você estiver usando o ArcGIS API for Python no ArcGIS Pro, usará o Conda para gerenciar todos os pacotes, inclusive o pacote arcgis.

IDEs

Por fim, vamos falar sobre os “ambientes integrados de desenvolvimento” ou “IDES” (do inglês Integrated Development Environments).

O que são IDEs?

Basicamente, IDEs são programas que permitem que você escreva e execute scripts. Eles são muito úteis para depuração e, geralmente, incluem uma função de preenchimento automático para facilitar a escrita de scripts.

O ArcGIS API for Python pode ser executado em qualquer IDE do Python 3.5. Se você estiver usando vários ambientes, recomendamos o uso de um IDE que ofereça suporte à mudança de ambientes, como Spyder ou PyCharm.

Considerando-se essas informações, o Jupyter Notebook é o IDE recomendado para trabalhar com o ArcGIS API for Python. Ele permite que você execute códigos Python de forma interativa, visualize resultados (como mapas, gráficos e tabelas) e compartilhe os scripts facilmente. Ao instalar o ArcGIS Pro ou o Anaconda, o Jupyter Notebook também será instalado.

ArcGIS API for Python: os conceitos principais – parte 2 - imagem 7
Mapa integrado ao Jupyter Notebook.

O Jupyter Notebook também não é específico do Python e oferece suporte a várias linguagens, o que o torna mais útil aos desenvolvedores.

Assim, encerramos os principais conceitos sobre o ArcGIS API for Python! Para resumir, há várias formas de trabalhar com a API, mas para se integrar totalmente à Plataforma ArcGIS, a Esri recomenda usar os pacotes Miniconda e Jupyter Notebook que já vêm instalados no ArcGIS Pro.

Divirta-se com os scripts!


Você gostou desse artigo?

O Portal GEO está sempre trabalhando para trazer novidades, tendências e o que há de melhor em dicas do universo GIS. Clique abaixo e faça sua inscrição gratuita para receber com comodidade todos os nossos artigos, que tenho certeza, vão te apoiar em seu cotidiano profissional e pessoal, te deixando sempre bem informado: