Anaconda
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
virtualenvouvenvpara 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 -
condamodifica a configuração do seu shell para inicializar o conda sempre que você abrir o terminal e para reconhecer comandos do conda automaticamente. - No -
condanã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 rodarconda initque a configuração terá sido feita. Então, toda vez que quiser iniciar o Conda basta executar o comandosource ~/.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 -
condamodifica a configuração do seu shell para inicializar o conda sempre que você abrir o terminal e para reconhecer comandos do conda automaticamente. - No -
condanã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 rodarconda initque a configuração terá sido feita. Então, toda vez que quiser iniciar o Conda basta executar o comandosource ~/.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
[editar | editar código]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,pandaseSciPy, dentre várias outras.
Mais detalhes podem ser encontrados aqui.
Referências
[editar | editar código]- https://www.dataschool.io/conda-vs-anaconda-vs-miniconda/
- https://jupyter.org/
- https://www.anaconda.com/docs/tools/working-with-conda/ide-tutorials/spyder
- https://www.anaconda.com/products/navigator
- https://www.anaconda.com
- https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
- https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html
- https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/index.html
- https://docs.anaconda.com/free/anaconda/install
- https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
- https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#sharing-an-environment
- https://conda-forge.org
- https://realpython.com/anaconda-python/