Pyenv: Múltiples versiones de Python en Linux

Pyenv es una herramienta enfocada en la administración de múltiples versiones de Python en sistemas Linux.

Según Wikipedia, Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Quienes utilizan este lenguaje, les resulta conveniente tener varias versiones del interprete instalado sobre el mismo sistema. Es aquí donde Pyenv entra en acción, esta sencilla herramienta puede gestionar distintas versiones de Python, no sólo entre las versiones 2.x o 3.x, sino también versiones de Anaconda, Ironpython, Jython, Micropython, Miniconda, Pypy, Pyston y Stackless.

Este articulo muestra la instalación del software sobre un Linux distribución Ubuntu en su versión 18.04 LTS. En particular sobre el sistema que realizo el trabajo es un KDE Neon (Plasma) 18.04.

Instalación de dependencias

Para instalar Pyenv en sistemas Ubuntu y/o derivados, inicialmente instalo las siguientes dependencias.

apt -y update && sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

Instalar Pyenv

A continuación instalo con el siguiente comando:

curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer libnss3-tools python3-ven
| bash

Nota: observar que la herramienta que instalada en la cuenta propia del usuario autenticado, por ende disponible solo para este usuario. Observar ademas, que esto permite tener diferentes versiones instaladas en el equipo, separadas de la versión global del sistema operativo.

La instalación indica que debe agregarse al env  del usuario, en mi ejemplo lo realizo en el archivo ~/.bashrc  del siguiente modo:

echo -e 'export PATH="/home/dzamo/.pyenv/bin:$PATH"\neval "$(pyenv init -)" \neval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

Pyenv quedo instalado para poder utilizarlo ejecutar las órdenes desde el .bashrc  en el entorno actual del shell

source ~/.bashrc

Y ahora ya agregado al env  el usuario puede utilizar la herramienta.

Uso de pyenv

Usando Pyenv

Los siguientes comandos son similares, y muestran todas las versiones disponibles para instalar.

pyenv install --list

ó

pyenv install -l

En mi sistema solo existe una que puede ser mostrada con el comando:

pyenv versions

Para instalar la versión 3.5.0 ejecuto:

pyenv install 3.5.0

Y para cambiarse a la versión antes instalada ejecuto:

pyenv global 3.5.0

Una documentación mas extensa puede encontrarla aquí