Pyenv: Guia completo de Instalação e Configuração - Blog Accurate Blog Accurate

python-pyenv

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:

código - configurando arquivos do sistema - pyenv

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

código - verificando versões de python

Copie e cole no terminal:

pyenv install -l


  • Instalação do Python

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

código - instalação do python

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:

código - escolhendo a versão padrão

Copie e cole no terminal:

pyenv global <versao>


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

código - escolhendo a versão padrão

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:

código - escolhendo uma versão diferente para cada projeto - pyenv

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

código - 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):

código - verificando as versões de python do sistema com pyenv2

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

código - verificando as versões de python do sistema com pyenv3

Copie e cole no terminal:

pyenv global system


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

código - verificando as versões de python do sistema com pyenv4

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:

código - criando um ambiente virtual - pyenv

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)

código - habilitando o ambiente virtual linuxmacos - pyenv

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.

machine-learning

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

Deixe um comentário

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