A colinha de hoje é inspirada nesse tweet aqui:

Então se você já instalou o pyenv e agora quer saber um pouqinho mais sobre como ele funciona assim como o Luciano, aqui vai…

O pip

Pra quem não sabe o que é o pip ele é a ferramenta recomendada para fazer a instalação de pacotes Python.

Onde vão as versões do pyenv

Dentro do diretório/pasta do pyenv temos um diretório chamado versions e é lá que moram as versões que você instala usando o comando pyenv install, na minha máquina eu tenho três versões do Python instaladas:

versions
├── 2.7.12
├── 3.3.0
└── 3.6.4

O pyenv e o pip

Cada nova versão do Python que você instala usando o pyenv vem com o seu próprio pip. Veja:


Listagem de pacotes instalados em cada versão

Agora, se você setar uma versão do Python usando pyenv e instalar um pacote usando o pip o que acontece? Esse pacote fica disponível para as demais versões?

Resposta rápida: Não, um pacote instalado numa versão não fica disponível noutra versão.

Vejamos, vamos usar de exemplo o pacote do Caipyra. Antes de instalá-lo temos:


Listagem de pacotes instalados em cada versão

Instalando o caipyra na versão 3.3.0:


Instalação do pacote Caipyra na versão 3.3.0

Listando novamente os pacotes instalados em cada versão:


Listagem de pacotes instalados em cada versão

E finalmente o teste para ver se o pacote fica disponível ou não para outras versões:


Rodando o import caipyra em todas as versões

Tanto na versão 2.7.12 quando na versão 3.6.4 Python grita ModuleNotFoundErrror, esse erro é característico quando o pacote não está instalado.

Massa né? Preparar, apontar, instalar pacotes diferentes em cada versão do Python 😜


Agradecimentos

Obrigada Luciano Ratamero pelas dúvidas que me deram a ideia desse outro post 😉