Utilizando Pyenv e Pyenv-virtualenv e aposentando o virtualenv “ou não”.

pyenv-virtualenvUtilizei por muito tempo o virtualenv para criar ambientes python isolados e assim com tranquilidade, instalar pacotes python a vontade sem ter que me preocupar com versões e compatibilidades entre os pacotes, porque estes estariam sempre isolados no seu ambiente virtual. Isso é legal, muito legal, mas agora além de me preocupar com os pacotes instalados, também tive a necessidade de escolher a versão do python que eu queria usar no meu ambiente virtual. E isso o virtualenv não resolve por completo. Por exemplo:

Quero criar um ambiente virtual com a versão do Python 2.7.6 e um outro com a versão 3.5.1. E ai, como faço? É ai que entra o pyenv + pyenv-virtualenv, pois com o pyenv conseguimos instalar facilmente versões diferentes do python na mesma máquina e alternar entre elas apenas com um simples comando. Já o pyenv-virtualenv é um plugin do pyenv que nos permite criar ambientes isolados escolhendo a versão do Python antes de criá-los.Chique né e como começar?

Primeiro vamos instalar algumas dependências:

Agora vamos instalar o pyenv, com o comando abaixo (Ps: este é o comando que encontrei no site oficial, ver aqui):

Após finalizado a instalação, adicione as linhas abaixo ao seu .bashrc:

E para surtir efeito as linhas adicionadas acima, rode:

Com isso o pyenv está instalado e se digitarmos pyenv na console veremos:

Agora podemos listar as versões do python instaladas, digitando:

Para listar as versões python disponíveis:

E assim podemos escolher qual versão do python instalar, vou escolher a 3.5.1

agora digite novamente:

e você verá que existem duas versões instaladas. E para escolher a versão 3.5.1, basta digitar:

agora digite python na console e você verá que a versão global do python no sistema é a 3.5.1:

Até aqui tudo ok e legal, mas precisamos criar ainda nosso virtual environment, para isso vamos instalar o plugin pyenv-virtualenv:

Caso você receba a mensagem:

É porque pyenv-virtualenv foi instalado logo lá no começo junto com a instalação do pyenv.

Enfim vamos criar nosso primeiro virtualenv:

ative-o digitando:

agora digite python e você verá que a versão usada para criar o virtualenv foi a padrão que veio instalada no sistema antes mesmo de você instalar o pyenv. No meu caso foi a 2.7.6

Para criar com outra versão do python, basta digitar por exemplo:

Agora podemos criar ambientes virtuais isolados como o virtualenv fazia mas com uma vantagem, ainda podemos escolher qual versão do python usar, legal né.

Quanto ao título deste post [ Utilizando Pyenv e Pyenv-virtualenv e aposentando o virtualenv "ou não". ], ficou escrito desta forma porque estudando o pyenv e o “original” virtualenv (aquele de raiz), descobri que também é posível escolher a versão do python ao se criar um ambiente virtual com o nosso velho amigo “virtualenv”, desta forma:

Aqui criamos um ambiente virtual a moda antiga, mas com a versão atual do python que foi setada pelo comando pyenv global. Bem interessante também.

Ficamos por aqui, abraços e até o próximo post.