Instalando o Anaconda em uma distribuição Linux

logo_anaconda

Se você começou a estudar programação ou teve interesse nesse assunto nos últimos anos, você já deve ter ouvido falar em data science ou machine learning. E, eventualmente, já ouviu falar ou teve contato com as linguagens R, pelo seu grande poder em análises estatísticas, ou Python, pela sua grande versatilidade. O artigo de hoje é sobre o Anaconda, uma distribuição que visa facilitar a instalação e o gerenciamento de ferramentas dessas duas linguagens, visando especialmente aplicações na área científica.

Caso prefira ver em vídeo, clique no player abaixo. O artigo completo se encontra após o vídeo.

Obtendo o arquivo de instalação

O site do projeto Anaconda é bem simples e intuitivo. Aqui abordaremos a instalação da versão individual do Anaconda, que pode ser baixada aqui. Nesse artigo, instalaremos a versão do instalador de Python 3 para sistemas Linux. No momento que escrevo, o nome do arquivo de instalação baixado é Anaconda3-2020.07-Linux-x86_64.sh.

Instalando dependências necessárias para GUI

Nosso objetivo aqui será instalar o Anaconda numa distribuição Linux, mais especificamente o Linux Mint 20. Conforme as instruções do site, para que as aplicações possam ser utilizadas no modo gráfico, algumas dependências são necessárias. No caso de distribuições baseadas em Debian, como o nosso caso, precisamos instalar:

$ sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

Verificando a integridade do arquivo de instalação

É sempre recomendável verificarmos que o download de programas instaladores foi completado com sucesso, para evitar começar a instalação com arquivos corrompidos que podem causar a quebra de dependências do sistema. Caso nunca tenha ouvido falar em checksum e hash criptográfico, recomendo essa leitura.

O site do projeto apresenta uma lista de todas as hashes de arquivos de instalação do projeto. No momento que escrevo, a hash do arquivo de instalação da versão de Python 3 para Linux é 38ce717758b95b3bd0b1797cc6ccfb76f29a90c25bdfa50ee45f11e583edfdbf, mas você deve conferir no site pois uma nova versão pode estar disponível no momento que você está lendo esse artigo.

Para conferir se o arquivo baixado está corrompido ou não podemos fazer uma comparação visual da hash do arquivo baixado com a hash esperada ou fazer o próprio sistema comparar. Para fazer visual, rodamos o comando sha256sum seguido do nome do arquivo e comparamos visualmente o resultado com a hash do site:

$ sha256sum Anaconda3-2020.07-Linux-x86_64.sh

Para que o próprio sistema compare as duas hashs:

$ echo "38ce717758b95b3bd0b1797cc6ccfb76f29a90c25bdfa50ee45f11e583edfdbf Anaconda3-2020.07-Linux-x86_64.sh" | sha256sum --check

Se o resultado do comando for OK a hash do arquivo é igual à hash passada.

Criando uma pasta de instalação acessível a todos os usuários

Por padrão, o processo de instalação do Anaconda utiliza a home do usuário (~/nome-do-usuario). Não há problema algum nisso. No entanto, se for uma máquina utilizada por mais de um usuário, por vezes é mais interessante ter uma única instalação que atenda a esses usuários do que ter que efetuar a instalação na pasta home de cada usuário da máquina. Assim, antes de iniciar a instalação, vamos criar uma pasta acessível a todos os usuários do sistema para que possamos indicar ao programa de instalação tal pasta. Mesmo que no momento sua máquina seja utilizada apenas por você, recomendo que deixe a instalação numa pasta de sistema para futuramente poder acomodar múltiplos usuários.

Em Linux, há uma hierarquia padrão de arquivos de sistema (FHS da sigal em inglês para Filesystem Hierarchy Standard) que recomenda quais pastas devem ser utilizadas em determinadas situações. De acordo com tal padrão, a pasta opt é destinada a programas externos ao sistema operacional. Assim, vamos criar uma pasta para a instalação dentro de opt. É também importante que tal pasta criada tenha as permissões corretas para que o programa de instalação possa escrever em tal pasta. Assim, criando uma pasta anaconda em opt:

$ sudo mkdir /opt/anaconda 
$ sudo chmod ugo+w /opt/anaconda

Instalação

Agora podemos realizar a instalação em si. Assumindo que você está na pasta onde o arquivo de instalação foi baixado:

$ bash Anaconda3-2020.07-Linux-x86_64.sh -u

A opção -u é solicitada pelo instalador quando a instalação é feita numa pasta já existente. Basta seguir as instruções em tela, aceitando os termos da licença e alterando a pasta de instalação para a pasta que criamos.

É importante também que, ao final da instalação, se confirme a opção de o instalador inicializar o gerenciador conda. Assim, o instalador atualizará o arquivo .bashrc para que você possa inicializar o gerenciador conda diretamente do terminal.

Verificando que a instalação funcionou

Após o término da instalação, feche a abra novamente seu terminal. Caso a instalação tenha tido êxito, a indicação (base) aparecerà antes do prompt:

(base) $

Isso indica que o ambiente base do conda já foi ativado na inicialização (comportamento padrão). Você pode verificar qual interpretador Python está sendo utilizado com:

(base) $ which python
/opt/anaconda/bin/python

Para desativar o ambiente:

(base) $ conda deactivate
$

Agora, o interpretador Python que está ativado é o do sistema:

$ which python
/usr/bin/python

Fazendo a instalação acessível a todos os usuários

Anteriormente, criamos uma pasta em nível de sistema para que todos os usuários pudessem acessá-la. Agora, precisamos fazer com que outros usuários possam efetivamente usar a instalação do Ananconda nessa pasta. Primeiro, vamos criar um grupo de usuários chamado anaconda:

$ sudo groupadd anaconda

Agora, vamos transferir a propriedade da pasta de instalação para esse grupo:

$ sudo chgrp -R anaconda /opt/anaconda

Vamos deixar que apenas o proprietário, o root e o grupo tenham permissão de leitura e escrita:

$ sudo chmod 770 -R /opt/anaconda

Agora, adicione os usuários que desejar a esse grupo anaconda para que possam utilizar a instalação:

$ sudo adduser nome_usuario anaconda

Caso não se lembre, ao final da instalação demos a permissão ao instalador para inicializar o conda. Assim, o instalador fez alterações no arquivo .bashrc do usuário que realizou a instalação para que o conda seja inicializado sempre que o terminal seja aberto. Precisamos colocar tais alterações para todos os usuários. A forma mais simples é colocando as instruções no arquivo /etc/profile:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

OBS.: É importante que você copie exatamente o que foi adicionado ao seu arquivo .bashrc. Aqui simplesmente copiei o que foi adicionado ao meu, você deve copiar o que foi adicionado ao seu.

A primeira vez que um novo usuário for abrir o shell, ele precisará executar o comando conda init e fechar. E pronto, poderá utilizar a instalação normalmente nas outras vezes que abrir o shell, sem precisar desse comando.

Conclusão

A instalação do Anaconda em si é simples, mas alguns detalhes precisam ser abordados para uma instalação multiusuário. Abordamos tais detalhes nesse artigo de forma a auxiliar aqueles que possuem essa necessidade. Também temos um artigo mais detalhado sobre ambientes virtuais onde escrevemos sobre o conda e suas funcionalidades. Não deixe de ler esse artigo.

Caso tenha dúvidas, deixe um comentário. Compartilhe entre seus conhecidos e até a próxima.

Compartilhe:

2 comentários em “Instalando o Anaconda em uma distribuição Linux”

  1. Oi, boa noite, meu nome é Jurandi, e sinceramente não sou de comentar, porém, vou abrir exceção para você, devido ao seu ótimo conteúdo e forma de apresentá-lo. Meus parabéns. Primeira vês que estou aqui e vai ser a última que estarei contando, pois acho que vou perder a conta. Já salvei seu link nos favoritos e estarei mais e mais visitando. Estou estudando python e chequei ao seu sitio procurando algo para entender além da linguagem de programação. Até chegar aos comandos da programação vc passou por diversos caminhos que se deve conhecer e, é este entendimento que estou procurando. Obrigado, em breve acesso novamente.
    (área de interesse: programação, linux, …)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima