3 min de leitura
Gerenciando versões Python com Pyenv no Ubuntu
Demonstração de como gerenciar versões Python em um mesmo ambiente Ubuntu utilizando Pyenv.
O pyenv é um gerenciador de versões do Python. Ele permite que se instale e gerencie várias versões do Python usando a conta de usuário normal e permite manter várias versões isoladas umas das outras.
1. Instalando as Dependências
sudo apt-get install -y make build-essential libssl-dev && sudo apt-get install -y zlib1g-dev libbz2-dev libreadline-dev && sudo apt-get install -y libsqlite3-dev wget curl llvm libncurses5-dev libffi-dev git
2. Utilizando o git baixe a versão corrente do pyenv aonde desejar instalar. Um bom lugar para escolher é $HOME/.pyenv
(mas você pode instalar em outro lugar que desejar).
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3. Defina uma variável de ambiente PYENV_ROOT
para apontar o caminho onde o repositório do pyenv foi clonado e adicione $PYENV_ROOT/bin
ao seu $PATH
para acessar/utilizar o pyenv via linha de comando.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
Proxy note: Se você usa um proxy,
export http_proxy and HTTPS_PROXY
também.
4. Adicione o pyenv init no seu shell para hbilitar shims e auto-completar. Por favor tenha certeza que o valor $(pyenv init -)
é colocado no final do arquivo de configuração do shell, pois ele manipula o PATH durante a inicialização.
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
5. E para surtir efeito as linhas adicionadas acima, rode:
source ~/.bashrc
Com isso o pyenv está instalado e se digitarmos pyenv na console veremos:
pyenv
pyenv 1.2.1-1-g6f27c91
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
Agora podemos listar as versões do python instaladas, digitando:
pyenv versions
* system (set by /home/felipe/.pyenv/version)
Para listar as versões python disponíveis:
pyenv install -l
E assim podemos escolher qual versão do python instalar, vou escolher a 3.6.2
pyenv install 3.6.2
Agora digite novamente:
pyenv versions
* system (set by /home/mateus/.pyenv/version)
3.6.2
Você verá que existem duas versões instaladas. E para escolher a versão 3.6.2, basta digitar:
pyenv global 3.6.2
Agora digite python na console e você verá que a versão global do python no sistema é a 3.6.2:
python
Python 3.6.2 (default, Jan 17 2018, 12:12:41)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/felipe/.pyenv/versions/3.6.2/lib/python36.zip',
'/home/felipe/.pyenv/versions/3.6.2/lib/python3.6',
'/home/felipe/.pyenv/versions/3.6.2/lib/python3.6/plat-linux',
'/home/felipe/.pyenv/versions/3.6.2/lib/python3.6/lib-dynload',
'/home/felipe/.pyenv/versions/3.6.2/lib/python3.6/site-packages']
>>>
Pronto! Você agora gerência duas versões do Python no Ubuntu, podendo gerenciar muitas outras seguindo o mesmo fluxo.
Comentários