Entornos Virtules (venv)

 

¿Qué es un entorno virtual?

Un entorno virtual es una carpeta que contiene:

  • Una instalación independiente de Python

  • Sus propias librerías

  • Sus propias versiones de paquetes

Esto permite:

  • Tener proyectos con dependencias distintas

  • Evitar conflictos entre versiones

  • Mantener el sistema limpio

  • Reproducir proyectos fácilmente

1. Crear un entorno virtual

Desde la terminal:

python -m venv mi_entorno

Esto crea una carpeta llamada mi_entorno/ con todo lo necesario.

2. Activar el entorno virtual

Windows

mi_entorno\Scripts\activate

Linux / macOS

source mi_entorno/bin/activate

Cuando está activo, verás algo así:

(mi_entorno) C:\proyecto>

3. Instalar paquetes dentro del entorno

Una vez activado:

pip install requests
pip install flask

Solo se instalan dentro del entorno, no en el sistema.

4. Ver paquetes instalados

pip list

5. Desactivar el entorno virtual

deactivate

6. Eliminar un entorno virtual

Simplemente borra la carpeta:

rm -r mi_entorno

7. Crear un archivo de dependencias (requirements.txt)

Para guardar las librerías instaladas:

pip freeze > requirements.txt

Contenido típico:

flask==2.3.2
requests==2.31.0

8. Instalar dependencias desde requirements.txt

pip install -r requirements.txt

Perfecto para compartir proyectos.

ACTIVIDAD PRÁCTICA: “Proyecto aislado con Flask”

Objetivo: que tus alumnos creen un entorno virtual y un proyecto real con dependencias.

Enunciado

  1. Crea una carpeta llamada proyecto_flask

  2. Dentro, crea un entorno virtual venv

  3. Actívalo

  4. Instala Flask

  5. Crea un archivo app.py con un servidor básico

  6. Genera un requirements.txt

  7. Desactiva el entorno

Solución propuesta

1. Crear carpeta

mkdir proyecto_flask
cd proyecto_flask

2. Crear entorno virtual

python -m venv venv

3. Activarlo

Windows:

venv\Scripts\activate

Linux/macOS:

source venv/bin/activate

4. Instalar Flask

pip install flask

5. Crear app.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def inicio():
    return "Hola desde Flask en un entorno virtual!"

if __name__ == "__main__":
    app.run(debug=True)

6. Crear requirements.txt

pip freeze > requirements.txt

7. Desactivar entorno

deactivate

Resultado esperado

  • Un proyecto completamente aislado

  • Flask instalado solo dentro del entorno

  • Un servidor web funcionando

  • Dependencias guardadas en requirements.txt