Ir para o conteúdo

Anaconda

De Wikiversidade

1. Introdução

[editar | editar código]

Anaconda é uma distribuição gratuita e de código aberto das linguagens Python e R, amplamente utilizada em ciência de dados, machine learning e computação científica. Sua premissa é que, basta baixar o Anaconda "que tudo simplesmente funciona". Nesse contexto, além de oferecer diversas ferramentas úteis para as áreas citadas, ela oferece um ambiente completo, com cerca de 250 pacotes instalados por padrão e mais de 7500 pacotes adicionais facilmente acessíveis, facilitando o trabalho de desenvolvedores, pesquisadores e analistas de dados.

Além disso, o Anaconda inclui o Conda, um poderoso gerenciador de pacotes e de ambientes virtuais. Assim, ele permite administrar pacotes, ou seja, instalar, atualizar e removê-los junto às suas dependências específicas sem conflitos e manter projetos organizados por meio da criação de ambientes virtuais de forma isolada. Com uma instalação simples e uma coleção robusta de ferramentas, o Anaconda se tornou uma escolha popular entre quem trabalha com dados e precisa de um setup estável e funcional desde o início.

Como uma opção mais leve, existe, também, o Miniconda, uma distribuição python que inclui apenas o Python, o Conda e alguns poucos pacotes úteis. Assim, enquanto o Miniconda ocupa cerca de 400 MB, o Anaconda requer 3 GB por padrão.

2. Componentes Principais

[editar | editar código]
  • Conda: Gerenciador de pacotes e de ambientes virtuais. (Anaconda e Miniconda)
  • Anaconda Navigator: Interface gráfica para gerenciamento de pacotes, ambientes e ferramentas. (Anaconda)
  • Jupyter Notebook: Ambiente interativo para análise e visualização de dados. (Anaconda)
  • Spyder: IDE voltada para cientistas de dados, similar ao RStudio. (Anaconda)
  • Bibliotecas incluídas: NumPy, Pandas, Matplotlib, SciPy, Scikit-learn, entre outras. (Anaconda e Miniconda (algumas))

3. Diferença entre Conda e Pip

[editar | editar código]

Conda:

  • Criação de ambientes virtuais built-in;
  • Não requer compiladores;
  • Verifica dependências;
  • Pacotes disponíveis no Anaconda Cloud e facilmente instaláveis com conda;
  • Pacotes instalados apenas no ambiente Anaconda (evita conflitos com pacotes do sistema);
  • Anaconda tem um tamanho considerável por incluir bibliotecas e ferramentas de Data Science;
  • Performance otimizado para Data Science e Computação Científica;
  • A transferência de ambientes Anaconda entre uma máquina e outra pode apresentar incompatibilidades;

Pip:

  • Requer virtualenv ou venv para criar ambientes virtuais;
  • Pode necessitar compiladores;
  • Não verifica dependências;
  • Pacotes disponíveis na PyPI (Python Package Index);
  • Pacotes instalados e disponíveis no sistema todo;
  • Tamanho reduzido;
  • Pode precisar de otimização manual para melhorar o performance;
  • Pode ser usado em qualquer máquina com python instalado;

4. Instalação Anaconda

[editar | editar código]

Para baixar o instalador da versão mais recente do Anaconda de forma fácil e direta, basta ir diretamente no site oficial e realizar o download na seção Distribution Instalers. Alternativamente, no Linux, você consegue obter esse instalador executando, no terminal, o comando:

curl -O https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

Ou, se desejar baixar outra versão, basta acessar o repositório anaconda, escolher a versão desejada e rodar o comando acima substituindo o arquivo Anaconda3-2024.10-1-Linux-x86_64.sh pelo arquivo desejado. Após baixar o instalador, é necessário executá-lo. Em um terminal Linux, é possível fazer isso rodando o seguinte comando:

bash ~/Anaconda3-2024.10-1-Linux-x86_64.sh

Em seguida, é necessário ler e aceitar os termos e condições do serviço. Feito isso, antes de a instalação começar, será perguntado em qual diretório se deseja instalar o Anaconda. Você pode deixar a instalação ocorrer no diretório padrão (/home/<USER>/anaconda3) ou digitar algum caminho específico que você desejar. Assim, após alguns minutos, antes de a instalação ser concluída, será perguntado como você prefere que seja a inicialização do programa:

  • Yes - conda modifica a configuração do seu shell para inicializar o conda sempre que você abrir o terminal e para reconhecer comandos do conda automaticamente.
  • No - conda não vai modificar os scripts do seu shell. Assim, será necessário configurar o conda. Para isso, rode, no seu terminal Linux, algo como: eval "$(/home/USER/anaconda3/bin/conda shell.bash hook)". Assim, você entrará no ambiente base do conda, de forma que basta rodar conda init que a configuração terá sido feita. Então, toda vez que quiser iniciar o Conda basta executar o comando source ~/.bashrc . Mais detalhes sobre essa configuração manual podem ser encontrados aqui.

5. Instalação Miniconda

[editar | editar código]

Recomenda-se a instalação do Miniconda para quem já tiver suficientemente familiarizado com o conda e deseja uma distribuição leve. Para baixar essa distribuição, primeiro, é necessário baixar seu instalador. Para obte-lo, basta fazer o download na seção Minconda Instalers no site oficial. De forma alternativa, no Linux, você consegue obter esse instalador executando, no terminal, o comando:

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

Ou, se desejar baixar outra versão, basta acessar o repositório miniconda, escolher a versão desejada e rodar o comando acima substituindo o arquivo Miniconda3-latest-Linux-x86_64.sh pelo arquivo desejado. Após baixar o instalador, é necessário executá-lo. Em um terminal Linux, é possível fazer isso rodando o seguinte comando:

bash ~/Miniconda3-latest-Linux-x86_64.sh

Em seguida, é necessário ler e aceitar os termos e condições do serviço. Feito isso, antes de a instalação começar, será perguntado em qual diretório se deseja instalar o Miniconda. Você pode deixar a instalação ocorrer no diretório padrão (/home/<USER>/miniconda3) ou digitar algum caminho específico que você desejar. Assim, após alguns minutos, antes de a instalação ser concluída, será perguntado como você prefere que seja a inicialização do programa:

  • Yes - conda modifica a configuração do seu shell para inicializar o conda sempre que você abrir o terminal e para reconhecer comandos do conda automaticamente.
  • No - conda não vai modificar os scripts do seu shell. Assim, será necessário configurar o conda. Para isso, rode, no seu terminal Linux, algo como: eval "$(/home/USER/miniconda3/bin/conda shell.bash hook)". Assim, você entrará no ambiente base do conda, de forma que basta rodar conda init que a configuração terá sido feita. Então, toda vez que quiser iniciar o Conda basta executar o comando source ~/.bashrc . Mais detalhes sobre essa configuração manual podem ser encontrados aqui.

6. Gerenciamento de Ambientes e Pacotes com Conda

[editar | editar código]

Como vimos, um dos principais recursos que tornam o Anaconda tão poderoso é o Conda, seu gerenciador de pacotes e ambientes. Ele permite que você instale bibliotecas, crie ambientes isolados para projetos diferentes e mantenha tudo organizado — sem conflitos entre versões de dependências. Antes de ver os principais usos do Conda, a fim de executar os comandos mostrados nesta parte do tutorial, inicialize o Conda, o que pode ser feito tanto manualmente quanto automaticamente, caso tenha configurado o conda para isso na instalação do Anaconda ou do Miniconda. Se tudo der certo, você deveria ter, no seu terminal, algo como:

(base) USER@MAQUINA:~$

O que indica que você entrou no ambiente base do Conda. Nessa seção, supomos que você já entrou no ambiente base do Conda.

Ambientes Virtuais

[editar | editar código]

Ambientes virtuais são "espaços" isolados onde você pode instalar uma versão específica do Python e apenas as bibliotecas necessárias para um determinado projeto. A vantagem disso é que as bibliotecas instaladas em um ambiente virtual de um projeto serão isoladas do resto do sistema, o que evita conflitos com os pacotes e dependências do próprio sistema e de outros projetos, permitindo, assim, um desenvolvimento mais estável e previsível. Nesse contexto, vejamos 4 comandos úteis para a administração de ambientes virtuais.

Para criar um ambiente virtual chamado, por exemplo, meu_ambiente , e com a versão 3.10 do Python, basta executar o comando:

conda create -n meu_ambiente python=3.10

Caso deseje, é possível criar um ambiente virtual usando um arquivo .yml que contenha todas os pacotes desejados. Para isso, basta executar:

conda env create -f env_exemplo.yml -n meu_ambiente

A fim de ativar esse ambiente, basta executar:

conda activate meu_ambiente

Por fim, para voltar ao ambiente anterior, que pode ser tanto ambiente base ou o próprio sistema, basta executar:

conda deactivate

Por fim, a fim de ver todos os ambientes criados use:

conda env list

Gerenciamento de Pacotes

[editar | editar código]

Assumindo que você está dentro de algum ambiente, temos diversos comandos úteis em relação ao gerenciamento dos pacotes.

Para instalar um pacote chamado, por exemplo, nome_pacote execute:

conda install nome_pacote

Para atualizar esse pacote, rode:

conda update nome_pacote

E para remover esse pacote, rode:

conda remove nome_pacote

O Conda instala pacotes a partir de canais, repositórios online que armazenam coleções de pacotes prontos para uso. Cada canal pode oferecer diferentes versões de pacotes, níveis de atualização, suporte a sistemas operacionais e padrões de compatibilidade. Por padrão, o Conda utiliza o canal defaults, mantido pela própria equipe do Anaconda.

O canal conda-forge é uma comunidade aberta e mantida por voluntários que empacotam e atualizam rapidamente uma vasta gama de bibliotecas. Para instalar a partir desse canal use o comando:

conda install -c conda-forge nome_pacote

É recomendado evitar instalar pacotes com conda misturando canais pois isso pode gerar conflitos de dependência difíceis de resolver.

7. Ferramentas que acompanham o Anaconda

[editar | editar código]

Assim como foi discutido, o Anaconda acompanha diversas ferramentas muito úteis para a administração de pacotes e para Ciência de Dados, Computação Científica e IA. Sendo assim, vejamos algumas delas.

Anaconda Navigator

[editar | editar código]

O Anaconda Navigator é uma Guided User Interface (GUI) que permite a administração de pacotes e ambientes Conda sem precisar rodar quaisquer comandos no terminal. Mais detalhes podem ser encontrados aqui.

Jupyter Notebook

[editar | editar código]

Um Jupyter Notebook é uma aplicação interativa baseada na web amplamente usada em Ciência de Dados, Machine Learning e Computação Científica. Ele permite criar e compartilhar documentos que contêm:

  • Código executável (em Python e mais de 40 outras linguagens),
  • Texto formatado com Markdown (incluindo equações LaTeX),
  • Visualizações de dados (gráficos, tabelas interativas, etc.),
  • Saídas de código (como resultados de cálculos ou plots).

Spyder é um Ambiente de Dessenvolvimento integrado (IDE) voltado especialmente para ciência de dados, computação científica e engenharia, utilizando a linguagem Python. Oferece diversas features muito úteis para essas áreas, tendo um funcionamento muito parecido com MATLAB e R-Studio:

  • Console Interativo;
  • Editor de arquivos com execução parcial ou total do código;
  • Vizualização integrada (permite abrir gráficos em janelas integradas, sem precisar exportar ou abrir arquivos externos);
  • Suporte nativo a bibliotecas como matplotlib, NumPy, pandas e SciPy, dentre várias outras.

Mais detalhes podem ser encontrados aqui.

Referências

[editar | editar código]