Python e suas versões: pyenv
Author note: You can read this post in English here.
Uma das primeiras coisas que aprendemos sobre Python é que existem mais de uma versão da mesma linguagem funcionando a todo vapor. Isso traz alguns problemas e a inevitável pergunta “Qual versão eu devo usar?”. A colinha de hoje mostra uma forma de instalar e manter o controle de várias versões do Python na sua máquina usando o pyenv 😉.
Entre outras coisas, as duas melhores features pyenv na minha humilde opinião são:
- instalar novas versões do Python facilmente;
- escolher a versão global do Python.
Pra começar você precisa instalar o pyenv, aqui eu vou mostrar um dos métodos de instalação, mas lá no readme do projeto tem outras (e também detalhes específicos de cada sistema operacional):
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ exec "$SHELL"
Depois desse passo é bem facinho, as outras versões do Python estão a um install de distância:
$ pyenv install 3.6.4
Se estiver em dúvida quais versões você pode instalar só usar a flag -l
do install que ele vai listar todas as disponíveis:
$ pyenv install -l
Massa né? Agora é só sair instalando versão adoidado 😂
E agora o momento da verdade, para configurar a versão global do Python, isto é, definir que versão do Python você vai usar quando colocar o Python pra rodar, use o seguinte comando:
$ pyenv global 3.6.4
Assim independente de qual lugar você navegar no seu terminal o Python que estará rodando será o 3.6.4
. Isso é muito útil se todos os seus projetos estiverem na mesma versão. Outra funcionalidade legal do pyenv é definir um Python local, vamos supor que um determinado projeto só rode no Python 3.5.3
então basta você instalar essa versão (como você aprendeu ali em cima) e em seguida ir até a pasta desse projeto e usar este comando:
$ pyenv local 3.5.3
Assim sempre que você entrar nessa pasta o pyenv vai “ativar” o Python correto para o seu projeto.
Chega de sofrer com versões do Python! 🎉
Links