Guia Rápido do Miniconda para Aplicações Científicas - Instalação e Configuração

Para quem desenvolve ou trabalha com computação científica utilizando o Python ou R, um gerenciador de módulos como o PIP ou o RStudio são essenciais, mas cada um tem suas limitações. O Anaconda é uma alternativa, mas oferece seus próprios desafios. Aqui, procuro apresentar brevemente o Miniconda, que é uma alternativa ao Anaconda, e o Conda que é menor e tão funcional quanto. Adicionalmente, passo algumas orientações sobre como configurar e otimizar sua funcionalidade para usuários do R, especificamente.

[ Hits: 10.161 ]

Por: Bruno Rafael Santos em 08/04/2020 | Blog: https://cutt.ly/4H7vrPh


Introdução



A alguns meses atrás, tive que instalar um módulo bastante obscuro do Python (Devito) para realizar uns testes e o os próprios desenvolvedores sugeriram utilizar o PIP. O resultado foi desastroso, pois o PIP não gerenciava bem as dependências, então parti para o Anaconda, o qual, nunca tinha chegado perto.

O Anaconda se mostrou um download muito grande e que me causava mais problemas do que resolvia. O navegador era lento, gerenciar ambientes é menos simples do que parece, as atualizações eram sofríveis, existem vários bugs na instalação do Linux e do Windows, etc. Depois de algumas pesquisas, aprendi a utilizar o Miniconda e resolvi meu problema.

Para quem ainda não conhece, o Anaconda é um gerenciador de pacotes alternativo para desenvolvedores Python, similar ao PIP e com suporte a outras linguagens relacionadas, como R e Julia. Isso se tornou necessário porque a quantidade de pacotes e versões do Python, R e outras linguagens, se tornou incompreensível para os gerenciadores de pacote do sistema (yum, zypper, apt...) e é crítico para quem trabalha com data science ou computação científica, então, as alternativas mais robustas começaram a surgir.

O Anaconda é prático, pois além de gerenciar pacotes, ele isola versões distintas em ambientes distintos, o que permite ter mais de uma versão dos mesmos módulos simultaneamente. E para desenvolvedores no Windows, estes gerenciadores alternativos são praticamente a única solução viável para trabalhar.

O problema do Anaconda é que ele é essencialmente uma suite comercial, então ele perde muito tempo e funcionalidade sendo bonito e com propagandas de serviços e soluções dos desenvolvedores. O Conda, por sua vez, é o verdadeiro gerenciador de pacotes e ambientes que existe por baixo do Anaconda, é totalmente Open Source e Free, relativamente fácil de utilizar e o Miniconda é uma instalação mínima do Conda. Na prática, o Miniconda é mais fácil de utilizar que o Anaconda. Meu foco neste artigo é fazer um tutorial rápido do Miniconda e apresentar algumas sugestões para melhorar sua funcionalidade.

Instalação do Miniconda

A instalação do Miniconda é bastante simples e é basicamente o mesmo procedimento no Linux e no Windows. Baixe o instalador do Miniconda, dê a ele permissão de execução e rode o script. O instalador tem uma interface de texto simples que faz algumas perguntas.

Três pontos críticos da instalação que exigem uma atenção especial:
  1. Local da Instalação: você pode escolher onde a instalação será feita, sendo este o local onde ficarão os pacotes do Miniconda e toda a estrutura de ambientes e versões, etc. Escolha um lugar que tenha espaço em disco e que você tenha acesso de escrita.
  2. Inclusão no PATH: no final da instalação, o Miniconda se oferece para se incluir no PATH do sistema. A minha sugestão é não faça isso, porque isso causa uma baita confusão.
  3. Fontes: tanto o Miniconda, quanto o Anaconda, compartilham servidores de onde os pacotes são baixados. Isso é bem prático, mas os servidores oficiais do Anaconda podem conter surpresas desagradáveis para alguns desenvolvedores.

A seguir, discutirei cada um dos pontos da instalação em detalhes. Nas referências, estão alguns tutoriais de instalação recomendados.

Local da Instalação

Tanto no Linux quando to Windows, o Miniconda não passa de um diretório cheio de links simbólicos - e alguns hard links - para os pacotes instalados. Os links estão organizados de modo a permitir que os pacotes interajam em seus respectivos ambientes, porém, sem causar interferência uns nos outros ou ter múltiplas cópias e consumir todo o espaço em disco.

Com isto, o Miniconda pode ser instalado localmente sem grandes problemas e fica a seu critério escolher esta localização. Instalar o Miniconda diretamente na home é comum, pois geralmente as instalações são individuais; instalar nos diretórios do sistema o tornaria disponível a todos, mas exigiria um 'sudo' a cada atualização ou instalação de pacote, nada prático. Neste aspecto, a instalação do Windows é mais sábia e pergunta se a instalação é multiusuário (instala do C:) ou local (instala no users).

Eu recomendo instalar em um canto seguro do seu @home. Eu, particularmente, coloquei o meu dentro do ~/bin que é um diretório pensado exatamente para isto. Assim, mantenho minha home arrumada e o Miniconda em um local seguro. Mas fique atento, uma instalação do Miniconda é pequena (388 Mb), mas ele operando, cresce de acordo com o volume de pacotes instalados. O meu diretório do Miniconda tem 8,9 Gb e faltam 50 Gb para eu me arrepender, então, pense bem onde colocar o Miniconda, principalmente se você lida com partições.

Integração com o Path

Logo no fim da instalação, ele pede para se adicionar ao Path e esta era a opção recomendada, mas eu não recomendo pelo seguinte, ele se instala como o primeiro item do Path, de modo que o Miniconda seja o provedor prioritário do Python e do R.

Isto faz com que alguns aplicativos fiquem confusos, principalmente APPs do próprio Miniconda ou pode gerar conflitos em alguns pontos isolados do sistema. Por exemplo, vários aplicativos utilizam o Path para lançar scripts do Phyton, então essa instalação pode desviar parte do sistema para Miniconda deixar o sistema à mercê do miniconda. Eu recomendo recusar a inclusão no Path e fazer o carregamento do Miniconda manualmente via terminal.

Mais adiante, explico alguns truques para tornar isto menos sofrido.

Fontes

Qual é o meu problema com os fontes?

O Anaconda oferece uma experiência semelhante a de um gerenciador de pacotes e os mesmos problemas. Por exemplo, diferentes versões do mesmo pacote, de servidores distintos, podem quebrar ou reduzir a funcionalidade do sistema (ouvir MP3 no openSUSE, quem nunca?) ou alguns servidores estão mais atualizados que outros para um aplicativo específico (problema típico do LibreOffice e do Gimp).

O Miniconda sofre deste mesmo tipo de problema, e existem comunidades especializadas em resolver problemas específicos.

No meu caso, eu utilizo muito mais o R do Miniconda do que o Python e frequentemente eu tinha problemas para instalar alguns pacotes de Machine Learning no Miniconda, ou por falta de disponibilidade ou uma misteriosa incompatibilidade com o meu R.

Por que? Depois de rodar pelas profundezas, descobri que o R distribuído pelo Anaconda é um fork compilado pela Microsoft (está escrito no próprio R, bem no boot), com algumas otimizações que na prática o tornam incompatível ou instável com pacotes não-MS. A solução para isto era instalar o R puro, a versão upstream. A solução foi mudar o repositório do Miniconda para um que distribua o upstream. Felizmente, achei o Bioconda que é uma comunidade de cientistas de dados com excelentes repositórios, com versões mais compatíveis e mais atualizadas dos pacotes que utilizo. Foi minha salvação.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Tutorial
Outros artigos deste autor

Assinatura de documentos PDF em lote via Bash

Campos no LibreOffice: usos e abusos

Devo atender? Um ótimo aplicativo para bloquear Telemarketing

Cronogramas e gestão do tempo com o LibreOffice Calc

Calculando o Imposto de Renda 2015 com o LibreOffice Calc

Leitura recomendada

Inkscape - Introdução (Parte 3)

Configurando sua gravadora no Linux

Conceito: Evitando acidentes com visão computacional

dstat - Ferramenta de Monitoramento no Linux

VLC, o reprodutor multimídia

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts