Executar qualquer versão 3.5+ de python no wily werewolf não é tarefa muito grata não, velho. Dentre as opções que se nos apresentam, temos as seguintes:
- Obter o código fonte, compilar e instalar no sistema;
- Usar o docker para isolar o ambiente de desenvolvimento e facilitar a migração entre diversas plataformas;
- Usar pyenv
Cada uma das opções tem seus prós e contras, e avaliá-los é tarefa pessoal, uma coisa de preferência mesmo. Eu particularmente não teria problemas em escolher quaisquer uma delas, porém, optei por utilizar pyenv.
O que é o pyenv?
Peguemos carona na própria definição dada na página do projeto:
pyenv lets you easily switch between multiple versions of Python. It’s simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
This project was forked from rbenv and ruby-build, and modified for Python.
Assim, pyenv é um fork de duas consagradas ferramentas usadas com ruby e o modo de funcionamento dele simplifica muito as coisas pra quem vai desenvolver alguma coisa, mas não deseja aumentar o tamanho do espaço ocupado na árvore do sistema, coisa que com o docker ou a instalação a partir do source code irá certamente provocar.
Com o pyenv, assim como com o rbenv, rvm, agiliza a instalação de coisas necessárias modificando apenas o ambiente de um usuário. Não preciso dizer que ISSO é MAIS do que recomendado.
Instalando o pyenv
Instalar o pyenv é fácil.
Basta fazer checkout do código:
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
E adicionar algumas envvars. Eu uso zsh como shell padrão aqui, mas há instruções no repo do projeto para quem usa o bash.
$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.zshenv
$ echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.zshenv
E é necessário ativar o pyenv e reiniciar o shell:
echo 'eval "$(pyenv init -)"' >> ~/.zshenv
exec $SHELL
Instalando python 3.5+
Feito tudo isso, resta instalar o python que realmente queria.
Fácil!
$ pyenv install 3.5.1
Não falei?
Agora o que resta é pegar os comandos do pyenv e dar uma estudada.
Ah! A seguir veja alguns plugins para virtualenvs:
https://github.com/yyuu/pyenv-virtualenv
https://github.com/yyuu/pyenv-virtualenvwrapper
Deixe um comentário