I. Visão geral

Neste post, exploraremos como usar pyenv-virtualenv e autoenv juntos para um desenvolvimento em Python contínuo. Essas ferramentas podem ajudá-lo a gerenciar vários ambientes e ambientes virtuais do Python com facilidade, melhorando seu fluxo de trabalho de desenvolvimento.

II. Pyenv-virtualenv

Pyenv-virtualenv é um plugin para pyenv que permite criar e gerenciar ambientes virtuais para diferentes versões do Python. Isso ajuda a manter as dependências de diferentes projetos separadas, garantindo que cada projeto tenha acesso aos pacotes necessários sem interferência.

Criando um ambiente virtual

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

pyenv virtualenv <versão-do-python> <nome-do-ambiente-virtual>

Por exemplo, se você deseja criar um ambiente virtual chamado my_project usando o Python 3.8.0:

pyenv virtualenv 3.8.0 my_project

Listando ambientes virtuais

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

pyenv virtualenvs

Ativando um ambiente virtual

Para ativar um ambiente virtual, use o seguinte comando:

pyenv activate <nome-do-ambiente-virtual>

Por exemplo:

pyenv activate my_project

Desativando um ambiente virtual

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

pyenv deactivate

III. Autoenv

Autoenv é uma ferramenta que ativa automaticamente um ambiente virtual quando você entra em um diretório contendo um arquivo .env. Isso torna fácil alternar entre projetos sem precisar se lembrar de ativar e desativar ambientes virtuais manualmente.

Configurando o Autoenv

Para usar o autoenv, você precisa criar um arquivo .env no diretório raiz do seu projeto. Este arquivo conterá os comandos que devem ser executados quando você entrar no diretório.

Por exemplo, digamos que você tenha um projeto localizado em ~/projects/my_project e deseja usar o ambiente virtual my_project criado anteriormente. Crie um arquivo .env no diretório ~/projects/my_project com o seguinte conteúdo:

source $(pyenv root)/versions/my_project/bin/activate

Usando o Autoenv

Agora, quando você navegar para o diretório do projeto, o autoenv ativará automaticamente o ambiente virtual my_project para você:

cd ~/projects/my_project

Você deve ver uma mensagem indicando que o ambiente virtual foi ativado:

autoenv: Activating environment . . .
(my_project) $

Quando você sair do diretório do projeto, o ambiente virtual será desativado automaticamente:

cd ~

Você deve ver uma mensagem indicando que o ambiente virtual foi desativado:

autoenv: Deactivating environment . . .
$

IV. Conclusão

Ao combinar pyenv-virtualenv e autoenv, você pode criar um fluxo de trabalho de desenvolvimento contínuo para gerenciar vários projetos em Python. Essa abordagem garante que você sempre use o ambiente virtual correto para cada projeto, ao mesmo tempo em que mantém suas dependências separadas e organizadas.