Tutoriais

Pyenv: Guia completo de Instalação e Configuração

 

Todo programador que trabalha com Python sabe que a recomendação é dar, sempre que possível, preferência a versão mais recente da linguagem, o Python 3.

Mas, às vezes, há situações em que se faz necessário a utilização de versões anteriores da linguagem (Python 2), por algum motivo específico.

A situação se agrava um pouco mais quando não há retrocompatibilidade entre as versões, como é o caso do Python 3.

Mas o que essa “retroincompatibilidade” significa? Basicamente, indica que código escrito em Python 2 pode não funcionar rodando no interpretador do Python 3.

Não bastasse isso, instalar diversas versões de interpretadores Python em uma mesma máquina pode gerar conflitos.

Nesse sentido surge o Pyenv, um poderoso gerenciador de versões Python que possibilita, de maneira simples, criar diferentes ambientes de desenvolvimento em um mesmo computador, podendo ser ajustado de forma objetiva.

Neste tutorial você pode conferir mais a fundo o que é o Pyenv, como proceder sua instalação, criação e configuração do ambiente virtual. Confira!

O que é Pyenv?

Utilizada apenas em sistemas Unix-like, Pyenv é uma biblioteca criada por Yasuhiro Matsumoto para não comprometer a instalação nativa de Python do sistema operacional e disponibilizar várias versões de Python no computador, se assim desejar.

Segundo ChatGPT: “Pyenv é uma ferramenta para gerenciar várias versões do interpretador Python em um sistema operacional. Ele permite que você altere facilmente a versão global do Python utilizada em seu sistema, bem como a versão específica de cada projeto. Isso é útil para garantir a compatibilidade com vários projetos que possam exigir versões diferentes do Python.”

A importância do Pyenv

Algumas pessoas “desavisadas”, podem achar que “ah, essa versão está desatualizada, melhor eu atualizá-la” ou “eu não sou programador Python mesmo, melhor remover isso aqui para liberar mais espaço” e com isso alterar todo o funcionamento do sistema operacional, a ponto de ter até mesmo que formatá-lo para o “ponto de fábrica”.

Como instalar

  • Instalando bibliotecas necessárias

Primeiramente, precisamos instalar algumas bibliotecas necessárias para o build (algumas não relacionadas ao Python, como curl, git, etc, mas se você for Dev, com certeza as utilizará em algum momento):

Copie e cole no terminal:

sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm gettext libncurses5-dev tk-dev tcl-dev blt-dev libgdbm-dev git python-dev python3-dev aria2 vim libnss3-tools python3-venv liblzma-dev libpq-dev


  • Instalando o Pyenv

Copie e cole no terminal:

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash


  • Configurando arquivos do sistema

Neste caso, irei editar o .bashrc, mas como há outros tipos, como por exemplo o .zshrc, é possível identificar qual o shell atual utilizando o comando abaixo:

Copie e cole no terminal:

echo $SHELL


Exemplo de saída foi: /bin/bash

Com um editor de texto de sua preferência, abra o arquivo .bashrc e cole os comandos abaixo:

Copie e cole no terminal:

export PYENV_ROOT=”$HOME/.pyenv”

export PATH=”$PYENV_ROOT/bin:$PATH”

if command -v pyenv 1>/dev/null 2>&1; then

eval “$(pyenv init –path)”

fi


Estes mesmos comandos poderão ser inseridos também no .profile (ou .bash_profile, dependendo da sua versão de SO).

A diferença entre ter estes comandos tanto no .profile quanto no .bashrc, é que o .profile será carregado toda vez que você efetuar o login na sua máquina, já o .bashrc será carregado a cada vez que você abrir uma instância do seu terminal.

  • Verificando versões de Python (ou ferramentas como anaconda, miniconda, stackless, etc) disponíveis

Copie e cole no terminal:

pyenv install -l


  • Instalação do Python

Após decidir qual versão de Python será utilizada, basta rodar:

Copie e cole no terminal:

pyenv install <versão escolhida>


  • Escolhendo a versão padrão

Para colocar a versão instalada como a global (default do seu computador), basta rodar:

Copie e cole no terminal:

pyenv global <versao>


Por garantia, é útil executar o arquivo ./bashrc com o seguinte comando:

Copie e cole no terminal:

source ./bashrc


Fechar e abrir novamente o terminal.

Escolhendo uma versão diferente para cada projeto

Dentro do diretório do projeto rode o comando:

Copie e cole no terminal:

pyenv local <versão>


Dessa forma você poderá ter um projeto com versões diferentes. Por exemplo, você pode ter um projeto utilizando Python 3.5 onde as f-strings, por exemplo, ainda não haviam sido implementadas e criar um outro projeto já utilizando o Python 3.6 onde esta funcionalidade já está disponível.

Verificando as versões de Python do sistema com Pyenv

Copie e cole no terminal:

pyenv versions


Com isso serão apresentadas as versões que foram instaladas, mais a versão nativa (system):

E caso queira voltar para a versão nativa, basta novamente utilizar o comando “global”:

Copie e cole no terminal:

pyenv global system


Outra forma de verificar a versão está sendo utilizada, é com o comando:

Copie e cole no terminal:

which python


E o resultado será:

Mais detalhes sobre Pyenv

O Pyenv juntamente com o virtualenv, são ótimas ferramentas caso você trabalhe com múltiplos projetos de diferentes versões de Python.

Um fará a gestão das versões do Python em si e o outro fará a gestão dos ambientes virtuais de cada projeto, de forma isolada.

De forma resumida, com o virtualenv, você consegue isolar seus projetos Python sem precisar instalar todas as libs que estes projetos usam diretamente no Python do seu sistema.

Será criado um ambiente especificamente para o projeto que deseja e será neste que você irá instalar suas libs.

Desta forma é possível ter uma aplicação com Django e todas as libs para trabalhar neste projeto e poderá ter um outro onde instalará Flask e cada um terá o seu próprio ambiente, sem um influenciar no outro.

Da mesma forma como pode-se ter um projeto com Django na versão 1.5 e um outro com Django na versão 4 sem haver conflitos.

Criando um ambiente virtual

Como os primeiros comandos rodados acima, a lib python3-venv já foi instalada, agora basta rodar o comando:

Copie e cole no terminal:

python -m venv <nome_do_ambiente>


Por convenção, é utilizado como nome do ambiente, venv ou até mesmo .venv, mas pode-se escolher o nome que desejar.

  • Habilitando o ambiente virtual (Linux/MacOs)

Copie e cole no terminal:

source <nome_do_ambiente>/bin/activate


  • Habilitando o ambiente virtual (Windows)

Para usuários Windows, será habilitado da seguinte forma (pelo cmd):

Copie e cole no terminal:

<nome_do_ambiente>\Scripts\activate.bat


Ou pelo Powershell:

Copie e cole no terminal:

<nome_do_ambiente>\Scripts\Activate.ps1


  • Identificando o ambiente

Você saberá que seu ambiente foi ativado, ao ver no canto esquerdo do seu shell, o nome escolhido para o seu venv  entre parênteses.

Para mais informações sobre Pyenv

Projetos Python para soluções de Inteligência Artificial e Machine Learning é com a Accurate!

O Python é uma linguagem essencial para criar soluções baseadas em Inteligência Artificial e Machine Learning, pois facilita o trabalho com dados estruturados.

E quando empregadas de maneira correta, ambas as soluções podem auxiliar os negócios, promovendo a agilidade, otimização de processos, aumento de receita impulsionado pelo desenvolvimento ou aprimoramento de produtos e tomadas de decisão mais rápidas.

Se precisar de ajuda no desenvolvimento de soluções pautadas nessas metodologias, saiba que pode contar com a Accurate!

Somos uma consultoria que há mais de 30 anos acelera e transforma negócios, criando soluções inovadoras e escaláveis, que vão de encontro a resolução de diversos tipos de desafios tecnológicos.

Entre em contato agora mesmo com um de nossos especialistas e saiba como realizar as mudanças necessárias para disponibilizar, implantar e aumentar a escala de Machine Learning do seu negócio.

Caso tenha interesse em conhecer mais sobre nossos serviços e especialidades, visite o nosso site ou nossas redes sociais: FacebookInstagramTwitterLinkedin e YouTube.

E, se for um profissional da área, veja as nossas vagas em aberto na página de carreiras e venha fazer parte da nossa equipe.

Não deixe também de comentar e continuar acompanhando o Blog da Accurate.

Autor

Wagner Herculano
Graduado em Sistemas de Informação e entusiasta na linguagem Python, adora ouvir música e estudar novas tecnologias em seu tempo livre.
Wagner Herculano

Graduado em Sistemas de Informação e entusiasta na linguagem Python, adora ouvir música e estudar novas tecnologias em seu tempo livre.

Postagens recentes

O que são Progressive Web Apps (PWAs) e como podem transformar sua estratégia digital?

Nos últimos anos, a necessidade de soluções digitais que aliem eficiência, alcance e custo-benefício impulsionou…

2 dias atrás

Processo inovativo em TI: Como implementar e alcançar resultados transformadores em sua Infraestrutura

A transformação digital acelerou a necessidade de inovação em Tecnologia da Informação (TI). No ambiente…

1 semana atrás

Como o desenvolvimento de FAQBots inteligentes pode otimizar Atendimentos e Operações

  O desenvolvimento de FAQBots inteligentes é uma solução que vem ganhando espaço, permitindo que…

2 semanas atrás

Força de Trabalho conectada à IA: Velocidade e eficiência nas operações

  O avanço da Inteligência Artificial (IA) está remodelando a maneira como empresas conduzem suas…

4 semanas atrás

Estratégia multicloud: Reduza custos e otimize investimentos

  Adotar uma estratégia multicloud para redução de custos é essencial para empresas que buscam…

1 mês atrás

Dashboards para indicadores de negócio: A chave para decisões estratégicas inteligentes

No cenário atual, onde a transformação digital não é mais uma opção, mas uma necessidade,…

2 meses atrás