Desarrollando con Python y Pyenv (part 1)

Deiv Guerrero
Feb 1, 2018 · 3 min read
background-fragment & python-logo

TL;DR: El uso de Pyenv como gestor de versiones de Python puede ayudarnos con las dependencias conflictivas de nuestros proyectos.

Los sistemas operativos basados en *nix por definición, cuentan con una versión preinstalada de Python (muy probablemente la versión 2.x), por lo que si desarrollas sobre Python 2.x (que deberías estar actualizando tus proyectos a Python 3.x) solucionas el conflicto de paquetes utilizando Virtualenv, ¿pero si quisieras interactuar con python 3.x? fácilmente buscas un tutorial de cómo instalar python 3 y no morir en el intento, pero tras reiniciar tu equipo te percatas que algunos programas empiezan a fallar.

Es aquí donde Pyenv entra en acción, ya que es una herramienta sencilla para gestionar distintas versiones de Python, no sólo entre 2.x o 3.x, sino también versiones de Anaconda, Ironpython, Jython, Micropython, Miniconda, Pypy, Pyston y Stackless.

¿Cómo instalar Pyenv?

La instalación de Pyenv es muy sencilla, basta con visitar su repositorio pero de manera práctica:

En Mac OS es recomendada su instalación a través de homebrew:

$ brew update# Paquetes que se recomiendan tener instalados
$ brew install openssl readline xz
$ brew install pyenv# Agregamos inicializador de pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
# Reiniciamos la shell para apreciar los cambios
$ exec "$SHELL"

En Ubuntu tendríamos que realizar lo siguiente:

# Paquetes que deben estar instalados
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev git
# Clonamos el repositorio
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# Descargar e Ejecutar Instalador
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
# Agregamos variables de Entorno
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# Agregamos inicializador de pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
# Reiniciamos la shell para apreciar los cambios
$ exec "$SHELL"

Guía de Uso

Una vez instalado pyenv podemos verificar la versión de pyenv instalada ejecutando pyenv --version.

Listamos las versiones que tenemos instaladas ejecutando pyenv versionsy observaremos que sólo contamos con la versión que trae nuestro sistema operativo *system marcada con un *, indicando que es la versión establecida en nuestro entorno.

Para conocer las versiones disponibles a instalar ejecutamos pyenv install --list .

Dentro de la lista de versiones disponibles encontramos la versión 3.6.4, para instalarla ejecutamos pyenv install 3.6.4.
Nota: El tiempo de instalación dependerá de tu conexión a internet y recursos del equipo.

Si nuevamente ejecutamos pyenv versions podremos observar que disponemos de la versión 3.6.4

Enlaces de Referencia

Deiv Guerrero

Written by

Web Developer #VueJS & #python /Configured web-server / Analista de Requerimientos / El desarrollo y la actualización no es una opción, es una necesidad.