Neste post do blog, discutiremos como usar o pyenv e o pyenv-virtualenv, duas ferramentas poderosas que podem ajudá-lo a gerenciar facilmente várias versões do Python e ambientes virtuais. Abordaremos as instruções de instalação para várias plataformas, como Mac e Linux, e discutiremos os recursos mais frequentemente usados dessas ferramentas. No final, você terá uma compreensão sólida de como usar essas ferramentas de maneira eficaz em seu fluxo de trabalho de desenvolvimento.

I. Visão geral

pyenv é uma poderosa ferramenta de gerenciamento de versões para o Python, permitindo que você instale e alterne facilmente entre várias versões do Python. pyenv-virtualenv é uma extensão do pyenv que permite gerenciar vários ambientes virtuais. Essas ferramentas são particularmente úteis quando se trabalha em vários projetos com dependências e versões do Python diferentes.

II. Instalação

Mac

Para instalar o pyenv e o pyenv-virtualenv no macOS, você pode usar o Homebrew:

brew update
brew install pyenv
brew install pyenv-virtualenv

Após a instalação, adicione as seguintes linhas ao seu arquivo de configuração do shell (.bashrc, .zshrc, etc.):

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
if command -v pyenv-virtualenv-init 1>/dev/null 2>&1; then
  eval "$(pyenv virtualenv-init -)"
fi

Linux

Para instalar o pyenv e o pyenv-virtualenv no Linux, primeiro clone os repositórios e adicione-os ao seu PATH:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Em seguida, adicione as seguintes linhas ao seu arquivo de configuração do shell (.bashrc, .zshrc, etc.):

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

III. Uso

1. Instale uma versão do Python

Para instalar uma versão específica do Python, use o comando install:

pyenv install 3.9.5

2. Liste as versões do Python disponíveis

Para ver todas as versões do Python instaladas, use o comando versions:

pyenv versions

3. Defina a versão global do Python

Para definir a versão global do Python, use o comando global:

pyenv global 3.9.5

4. Defina a versão local do Python

Para definir a versão local do Python para um projeto específico, use o comando local dentro do diretório do projeto:

pyenv local 3.8.10

5. Verificar a versão atual do Python

Para verificar a versão atual do Python, use o comando version:

pyenv version

6. Criar um ambiente virtual

Para criar um novo ambiente virtual com o pyenv-virtualenv, use o comando virtualenv:

pyenv virtualenv 3.9.5 my-project-env

7. Ativar um ambiente virtual

Para ativar um ambiente virtual, use o comando activate:

pyenv activate my-project-env

8. Desativar um ambiente virtual

Para desativar o ambiente virtual atual, use o comando deactivate:

pyenv deactivate

9. Listar os ambientes virtuais disponíveis

Para listar todos os ambientes virtuais que você criou, use o comando virtualenvs:

pyenv virtualenvs

10. Remover um ambiente virtual

Para remover um ambiente virtual, use o comando uninstall:

pyenv uninstall my-project-env

Bônus: Rehash

Sempre que você instalar um novo pacote Python com scripts executáveis, é essencial executar o comando rehash para atualizar os shims, garantindo que os novos scripts estejam disponíveis:

pyenv rehash

IV. Conclusão

O pyenv e o pyenv-virtualenv são ferramentas inestimáveis para gerenciar várias versões do Python e ambientes virtuais em seu fluxo de trabalho de desenvolvimento. Com os recursos discutidos neste guia, você estará bem equipado para trabalhar em vários projetos com dependências e versões do Python variáveis. Aproveite essas ferramentas para manter um ambiente de desenvolvimento limpo e organizado, aumentando sua produtividade e reduzindo o risco de conflitos de dependência.