O Anaconda (paródia com o nome de outra cobra, a python) é uma iniciativa que tem como objetivo agregar as principais ferramentas para análise de dados no python. Para utilizá-lo, baixe seu único arquivo contendo um novo python e todas as bibliotecas, que serão instaladas na home do próprio usuário (sem interferir na instalação principal). O arquivo instalador pode ser baixado do site do Anaconda, escolhendo sistema operacional, versão do python e arquitetura. Depois, torne-o executável (chmod +x nome_do_arquivo.sh) e siga os passos.
Se preferir uma versão mais minimalista, instale o Miniconda. Ele contêm apenas o gerenciador de pacotes (conda) e o Python. Baixe o programa no site do Miniconda e instale-o. Então, você pode usar o comando conda para instalar quaisquer outros pacotes e criar ambientes, etc. Existem duas variantes do instalador: Miniconda é baseado em Python 2 e Miniconda3 é baseado em Python 3. Observe que a escolha de qual Miniconda está instalado afeta apenas o ambiente raiz. Independentemente de qual versão do Miniconda você instalar, você ainda pode instalar os ambientes Python 2.x e Python 3.x.
Para finalizar, abra uma nova sessão ou atualize seu terminal com o comando “source ~/.bashrc”.
Ambientes virtuais
Um ambiente virtual (“virtualenv”) basicamente cria uma cópia de todos os diretórios necessários para que um programa Python seja executado, o que inclui:
- bibliotecas comuns do Python (standard library);
- gerenciador de pacotes (pip/conda);
- o próprio binário do Python (Python 2.x/3.x);
- dependências que estiverem no diretório site-packages;
- seu código fonte descrevendo sua aplicação.
Assim, ao instalar uma nova dependência dentro do ambiente criado pelo virtualenv, ele será colocado no diretório site-packages relativo à esse ambiente, e não mais globalmente.
Para criar um ambiente virtual no miniconda, use o seguinte comando (suponde que o ambiente chame-se py37env, para versão 3.7):
conda create -n py37env python=3.7
Para entrar e sair desse ambiente, use:
conda activate py37env conda deactivate
Você também pode criar um alias para esse comando no arquivo “~/.bashrc”, como “alias py37env=’source activate py37env'”, por exemplo.
Algumas versões desatualizadas podem deixar o carregamento do terminal muito lento, por causa da inclusão de algumas linhas no arquivo “~/.bashrc” que chamam comandos de modo ineficiente. Para ativar ou desativar o carregamento automático (“auto start”) de um determinado ambiente virtual do conda logo ao iniciar um terminal Linux, deve-se ativar o determinado ambiente e executar o comando “conda config –set auto_activate_base true” (ou “false”).
Pacotes do Conda
Para instalar/remover pacotes usando o conda, veja esses exemplos:
conda install --name py37env rpy2 conda remove -n py37env rpy2
Para atualizar o conda e todos os seus pacotes, use:
conda update -n base -c defaults conda conda update --all
Se der “PermissionError: [Errno 13] Permission denied: ‘/home/user/miniconda3/…'”, mude as credenciais da pasta do miniconda usando “sudo chown -R user /home/user/miniconda3/”.
Para adicionar um canal extra para instalar outros pacotes, use os seguintes comandos:
conda config --append channels conda-forge conda install future conda install geocoder
Esse exemplo instala o pacote “geocoder” – veja mais sobre ele no post sobre Como obter cidade usando latitude e longitude.
Existem casos em que um pacote não está em nenhum repositório do conda, mas pode ser instalado através do pip. A maneira mais simples de instalar pacotes em um ambiente conda preexistente usando pip é quando o ambiente conda existente não possui o pip instalado. Nesse caso, o pacote é instalado no mesmo diretório que as outras libs do ambiente virtual, em vez do padrão do sistema. Não é o recomendado pelo fato de que pip pode sobrescrever versões de pacotes já instalados e quebrar o ambiente.
Ambiente virtual para o R
Caso queira usar o R, o indicado é criar um outro ambiente virtual só para ele. Depois, use o canal “conda-forge” para instalar o R, conforme segue:
# Criar ambiente virtual para o R conda create -n renv # Ativar ambiente virtual conda activate renv # Instalar o R no novo ambiente virtual conda install -c conda-forge R
Para instalar pacotes do R no ambiente virtual, você pode usar o seguinte comando, substituindo PACKAGENAME pelo nome do pacote R que aparece no CRAN (Comprehensive R Archive Network):
$ conda search -f r-PACKAGENAME
Os pacotes R disponíveis no conda estão listados no link. Caso não seja possível instalar o pacote através desse comando, entre no terminal R (certifique-se de estar no ambiente virtual dele) e faça a instalação especificando o caminho. Veja esse exemplo, considerando que o R está no ambiente virtual “renv”:
> install.packages("PACKAGENAME", dependencies=TRUE, "~/miniconda3/envs/renv/lib/R/library/")
Para o caso do ambiente virtual ser o “base”, o caminho das bibliotecas R é “/home/user/anaconda3/lib/R/library”.
Se tiver algum shell script que chame scripts em R ou em python, deve-se incluir o comando de ativar o respectivo ambiente virtual antes de sua execução.
Scripts
Se você desenvolveu um script em um ambiente virtual e deseja colocá-lo no crontab ou executá-lo de fora desse ambiente, será preciso exportar o caminho de onde estão os binários para execução e ativar esse ambiente. Veja o exemplo a seguir:
# Usar ambiente virtual Miniconda: Python 3.7.3 e R 3.5.0 export PATH="/home/user/miniconda3/bin:$PATH" source activate py37env python3 -V Rscript --version
Com esses comandos no início de seu shell script em bash, é exportada a variável de caminho, ativado o ambiente virtual e ainda impressas as versões do python e do R utilizados.
Se preferir o “virtualenv” sem o conda, você pode instalá-lo através do pip e usá-lo conforme indicado nesse link da Python Academy.
Reconstrução de ambientes virtuais
É possível gerar um arquivo YAML com as bibliotecas e versões instaladas no ambiente virtual. Para criar esse arquivo do ambiente em uso, digite o seguinte comando:
conda env export > libs.yml
Para criar um ambiente a partir dessa lista ou atualizar um já existente, é só executar um dos comandos abaixo, respectivamente:
conda env install -f libs.yml conda env update -f libs.yml
4 comments