Gestionar entornos virtuales de Python en Ubuntu con aliases

Gestionar entornos virtuales de Python en Ubuntu con aliases

Cómo crear y activar entornos virtuales de Python con un solo comando usando aliases en bash o zsh. Guía completa paso a paso.

FECHA:
AUTOR:Jorge Beneyto Castelló
LECTURA:5 MINUTOS DE LECTURA

Crear y activar entornos virtuales de Python es algo que hacemos constantemente, pero siempre escribiendo los mismos comandos. En este post te muestro cómo crear dos aliases para reducir todo a un solo comando, explicando cada paso del proceso.


El problema

Cada vez que creas un proyecto en Python, tienes que hacer esto:

python3 -m venv .venv
source .venv/bin/activate
deactivate

Son 3 comandos cada vez. Si trabajas con varios proyectos al día, se acumulan.


La solución

Crear dos aliases en tu shell:

ComandoQué hace
mkvenvCrea .venv y lo activa (2 en 1)
actActiva .venv existente

Paso 1 — Entender qué es un alias

Un alias es un atajo de teclado para la terminal. Defines una palabra corta que sustituye un comando largo.

# Sin alias
python3 -m venv .venv && source .venv/bin/activate

# Con alias
mkvenv

¿Dónde se guardan los aliases? En un archivo de configuración de tu shell. Cada vez que abres una terminal, tu shell lee ese archivo y carga los aliases.

Paso 2 — Saber qué shell usas

Depende de qué shell uses, el archivo es diferente:

echo $SHELL
ResultadoShellArchivo de configuración
/bin/bashBash~/.bashrc
/bin/zshZsh~/.zshrc

En Ubuntu, por defecto es bash. Si no sabes, usa ~/.bashrc.

Paso 3 — Abrir el archivo de configuración

nano ~/.bashrc

Esto abre el archivo en nano. Verás muchas líneas de configuración. No te preocupes por lo que hay — solo tienes que ir al final.

Paso 4 — Añadir la función mkvenv

Ve al final del archivo y añade esto:

# ============================================
# Aliases de Python
# ============================================

# Crea y activa un entorno virtual llamado .venv
mkvenv() {
    python3 -m venv .venv
    source .venv/bin/activate
}

¿Por qué es una función y no un alias?

TipoCuándo usarlo
AliasCuando ejecutas un solo comando
FunciónCuando ejecutas varios comandos en secuencia

mkvenv necesita ejecutar dos comandos: crear el entorno Y activarlo. Por eso es una función.

Paso 5 — Añadir el alias act

Justo debajo de la función anterior, añade:

# Activa el entorno virtual .venv del directorio actual
alias act='source .venv/bin/activate'

¿Por qué un alias y no una función?

Porque solo necesitamos ejecutar un solo comando (source).

Paso 6 — Guardar el archivo

En nano:

  1. Pulsa Ctrl+O → Te pregunta “File Name to Write”. Pulsa Enter
  2. Pulsa Ctrl+X → Salir

No cierres la terminal. Aún no se han aplicado los cambios.

Paso 7 — Aplicar los cambios

source ~/.bashrc

¿Qué hace source?

Relee el archivo de configuración y aplica los cambios en la terminal actual.

¿Qué pasa si no ejecuto source?

Tendrías que cerrar y abrir la terminal de nuevo. Los cambios se aplican automáticamente al abrir una terminal nueva.

Paso 8 — Verificar que funciona

Comprobar que el alias está cargado

# Ver si mkvenv existe
type mkvenv
# Salida esperada: mkvenv is a function

# Ver si act existe
type act
# Salida esperada: act is aliased to 'source .venv/bin/activate'

Probarlo en la práctica

# 1. Crear una carpeta de prueba
mkdir ~/test_venv
cd ~/test_venv

# 2. Crear y activar el entorno
mkvenv
# Deberías ver: (.venv) usuario@ubuntu:~/test_venv$

# 3. Verificar que Python funciona dentro del entorno
python --version
# Debería funcionar sin errores

# 4. Desactivar
deactivate

# 5. Activar de nuevo
act
# Deberías ver: (.venv) usuario@ubuntu:~/test_venv$

# 6. Limpiar (opcional)
cd ~
rm -rf ~/test_venv

Paso 9 — Entender por qué funciona siempre

El archivo ~/.bashrc se carga automáticamente cada vez que:

  1. Abres una terminal nueva
  2. Abres una pestaña nueva en tu terminal
  3. Ejecutas bash o source ~/.bashrc

No necesitas hacer nada más. Una vez que guardas los aliases en ~/.bashrc, están disponibles siempre.


Resumen

ComandoQué haceTipoDónde está
mkvenvCrea .venv y lo activaFunción~/.bashrc
actActiva .venv existenteAlias~/.bashrc

Archivos importantes

  • ~/.bashrc → Configuración de bash (donde guardas los aliases)
  • .venv/ → El entorno virtual creado (en cada proyecto)

Comandos útiles

source ~/.bashrc    # Aplicar cambios sin cerrar terminal
type mkvenv         # Verificar si es función
type act            # Verificar si es alias
alias               # Ver todos los aliases definidos

Troubleshooting

ProblemaCausaSolución
mkvenv: command not foundNo guardaste el alias o no hiciste sourceEjecutar source ~/.bashrc
bash: .venv/bin/activate: No such fileEl entorno no existe en esa carpetaEjecutar mkvenv primero
function not foundGuardaste en el archivo equivocadoVerificar que editaste ~/.bashrc
No funciona al cerrar terminalNo guardaste el archivoRepetir pasos 6-7

Tips adicionales

Ver todos tus aliases

alias
# Lista todos los aliases definidos

Eliminar un alias temporalmente

unalias act        # Para aliases
unfunction mkvenv  # Para funciones

Añadir color al prompt cuando el venv está activado

# Añadir esto en ~/.bashrc después de los aliases:
if [[ -n "$VIRTUAL_ENV" ]]; then
    PS1="\[\e[32m\](.venv)\[\e[0m\] $PS1"
fi

Crear un alias para ver qué entornos tienes

# Añadir en ~/.bashrc:
alias venvs='find . -name "pyvenv.cfg" -exec dirname {} \;'
# Uso: venvs
# Lista todos los directorios .venv del directorio actual
COMPARTIR:
COMENTARIOS:

📋 Contenido