Cómo instalar y configurar Python en Ubuntu con pyenv
Python es uno de los lenguajes de programación más populares y versátiles. A menudo, como desarrolladores, necesitamos trabajar con múltiples versiones de Python para diferentes proyectos. Pyenv es una herramienta que facilita la instalación y gestión de múltiples versiones de Python en tu sistema. En este tutorial, aprenderás cómo instalar y configurar Python en Ubuntu y Windows Subsystem for Linux (WSL) utilizando pyenv.
Como aclaración por defecto en Ubuntu viene instalado Python 3, pero si necesitas instalar una versión específica de Python o gestionar múltiples versiones, pyenv es una excelente opción.
Table of Contents
Open Table of Contents
Introducción
Pyenv es una herramienta de línea de comandos que te permite instalar fácilmente múltiples versiones de Python y alternar entre ellas. Esto es especialmente útil cuando trabajas en proyectos que requieren versiones específicas de Python.
Requisitos previos
- Ubuntu 18.04 o superior, o WSL en Windows 10/11.
- Conexión a Internet: Necesaria para descargar paquetes y versiones de Python.
- Privilegios de superusuario: Acceso a
sudo
para instalar paquetes.
1. Instalar las dependencias necesarias
Antes de instalar pyenv, necesitamos instalar varias dependencias que son necesarias para compilar e instalar diferentes versiones de Python.
Ejecuta el siguiente comando en la terminal:
sudo apt update && sudo apt install -y \
git-core build-essential curl wget openssl libssl-dev libreadline-dev \
dirmngr zlib1g-dev libmagickwand-dev imagemagick-6.q16 libffi-dev \
libpq-dev cmake libwebp-dev libyaml-dev libsqlite3-dev sqlite3 \
libxml2-dev libxslt1-dev software-properties-common libcurl4-openssl-dev \
libvips-dev ffmpeg libpoppler-dev mupdf make llvm libbz2-dev tree \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libxmlsec1-dev \
liblzma-dev python3-openssl
Explicación:
- Este comando instala un conjunto de paquetes y librerías necesarias para compilar Python y sus módulos.
- Asegura que las versiones de Python que instales funcionen correctamente y que puedas instalar paquetes adicionales.
2. Instalar pyenv
Ejecuta el siguiente comando para instalar pyenv:
curl https://pyenv.run | bash
Este script clonará el repositorio de pyenv en tu directorio ~/.pyenv
y configurará los scripts necesarios.
Después de la instalación, es posible que veas una advertencia al final como:
WARNING: seems you still have not added 'pyenv' to the load path.
# Load pyenv automatically by appending
# the following to
# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
# and ~/.bashrc (for interactive shells) :
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# Restart your shell for the changes to take effect.
# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:
eval "$(pyenv virtualenv-init -)"
3. Configurar las variables de entorno
Para que pyenv funcione correctamente, debes agregarlo a tu variable PATH
y configurar el entorno en tus archivos de inicio de shell. Es recomendable utilizar el archivo ~/.zprofile
para las configuraciones que deben cargarse al iniciar sesión en Zsh.
3.1. Crear o editar el archivo ~/.zprofile
Abre el archivo ~/.zprofile
con tu editor preferido (si no existe, se creará):
nano ~/.zprofile
3.2. Añadir las configuraciones de pyenv
Agrega las siguientes líneas al archivo ~/.zprofile
:
# Configuración de pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
Explicación:
export PATH="$HOME/.pyenv/bin:$PATH"
: Añade el ejecutable de pyenv a tu variablePATH
.eval "$(pyenv init --path)"
: Inicializa pyenv al iniciar una sesión de login.eval "$(pyenv virtualenv-init -)"
: Inicializa el pluginpyenv-virtualenv
para gestionar entornos virtuales.
Guarda los cambios y cierra el editor (en nano, presiona Ctrl + O
para guardar y Ctrl + X
para salir).
4. Aplicar los cambios
Recarga tu shell para aplicar los cambios:
exec "$SHELL"
Aveces aunque corras el comando no te dejara usar pyenv, si esto ocurre simplemente cierra y vuelve a abrir la terminal.
Aclaración
Si estás utilizando Bash en lugar de Zsh, puedes añadir las configuraciones a ~/.bashrc
en lugar de ~/.zprofile
.
5. Instalar versiones de Python con pyenv
Ahora que pyenv está instalado y configurado, puedes instalar diferentes versiones de Python y cambiar entre ellas según sea necesario.
5.1. Listar las versiones de Python disponibles
Puedes ver una lista de todas las versiones de Python disponibles para instalar:
pyenv install --list
Si quieres ver cual es la ultima versión estable de Python puedes ir a la página oficial de Python y ver cual es la ultima versión estable.
5.2. Instalar una versión específica de Python
Por ejemplo, para instalar Python 3.12.0:
pyenv install 3.12.6
Nota: La instalación puede tardar varios minutos, ya que pyenv compila Python desde el código fuente.
5.3. Establecer la versión global de Python
Para establecer la versión instalada como la versión global predeterminada:
pyenv global 3.12.6
Verifica la versión de Python:
python --version
Deberías ver:
Python 3.12.6
Solución de problemas comunes
Error relacionado con OpenSSL
Al instalar versiones más recientes de Python, es posible que encuentres un error relacionado con OpenSSL. Esto se debe a que algunas versiones de Ubuntu no incluyen la versión necesaria de OpenSSL.
Solución:
Agrega el repositorio impish-security
y actualiza libssl1.1
:
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
sudo apt update
sudo apt install libssl1.1
Luego, intenta instalar nuevamente la versión de Python con pyenv.
Pyenv no se carga correctamente
Si después de reiniciar tu terminal, pyenv no funciona, verifica que las líneas de configuración estén correctamente añadidas en ~/.zprofile
. Asegúrate de que no haya errores tipográficos y que las rutas sean correctas.
Actualizar pyenv y sus plugins
Para mantener pyenv actualizado, puedes ejecutar:
cd ~/.pyenv && git pull
Vídeo Tutorial
Si eres una persona visual, aquí tienes un vídeo tutorial que te guiará a través de los pasos para instalar y configurar Python con pyenv en Ubuntu y WSL:
En este vídeo se cubren todos los pasos detallados anteriormente, además de consejos adicionales para gestionar tus versiones de Python y entornos virtuales con pyenv.
Conclusión
Has instalado y configurado con éxito Python utilizando pyenv en tu sistema Ubuntu o WSL. Ahora puedes gestionar múltiples versiones de Python y entornos virtuales de manera eficiente, lo que es esencial para trabajar en diferentes proyectos con requisitos específicos.
¡Disfruta de tu entorno de desarrollo de Python mejorado y sigue explorando las posibilidades que pyenv ofrece!