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.248 ]

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

GNU Parallel: criando atividades em paralelo com shell script

getopts: criando scripts Bash com parâmetros e argumentos personalizáveis

Cronogramas e gestão do tempo com o LibreOffice Calc

Defesa pessoal com o GPG, Nautilus Scripts, partições encriptadas e leves doses de paranoia

Python para pesquisadores: material didático

Leitura recomendada

ALSA

Clonando máquinas virtuais no VMWare Server

Instalando o IBExpert no Linux e acessando o Firebird

Gerenciando os seus códigos-fonte com um sistema CVS

Utilizando o Protheus em estações Linux

  
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