Entornos Virtuales con venv
1. Qué es un entorno virtual? #
Un entorno virtual es una carpeta que contiene:
- Una instalación de Python independiente
- Sus propias librerías
- Sin afectar a otros proyectos del sistema
Sirve para que:
- Cada proyecto tenga sus versiones de librerías
- No se mezclen dependencias entre proyectos
- Sea más fácil compartir y reproducir proyectos
2. Herramienta: venv #
venv es una herramienta que viene incluida en Python (no hay que instalar nada extra).
3. Crear un entorno virtual #
Ve a la carpeta del proyecto desde la terminal:
1cd carpeta_de_mi_proyecto
Luego ejecuta:
1python -m venv mi_entorno
📌 Esto crea una carpeta llamada mi_entorno que contiene el entorno virtual.
Puedes llamar el entorno como quieras: venv, env, proyecto1, etc.
4. Activar el entorno #
La forma de activarlo depende del sistema operativo:
Windows #
1mi_entorno\Scripts\activate
Mac / Linux #
1source mi_entorno/bin/activate
¿Cómo sé que el entorno está activado? #
La terminal mostrará el nombre del entorno al principio:
(mi_entorno) C:\Users\Alumno\proyecto>
5. Instalar librerías dentro del entorno #
Ya con el entorno activado:
1pip install nombre_libreria
Ejemplo:
1pip install numpy
Estas librerías solo se guardan en el entorno, sin afectar a otros proyectos.
6. Ver qué librerías tiene el entorno #
1pip list
7. Desactivar el entorno #
Cuando termines:
1deactivate
La terminal volverá a la normalidad.
8. Eliminar un entorno virtual #
Solo hay que borrar su carpeta:
Eliminar carpeta mi_entorno
No hay comandos especiales.
9. Resumen visual #
| Acción | Comando |
|---|---|
| Crear entorno | python -m venv mi_entorno |
| Activar entorno (Windows) | mi_entorno\Scripts\activate |
| Activar entorno (Mac/Linux) | source mi_entorno/bin/activate |
| Instalar librerías | pip install paquete |
| Ver librerías | pip list |
| Salir del entorno | deactivate |
| Eliminar entorno | Borrar carpeta mi_entorno |
10. Gestión de dependencias y el estándar moderno #
El enfoque tradicional: requirements.txt #
Para compartir las librerías exactas con otros desarrolladores:
1# Guardar dependencias actuales 2pip freeze > requirements.txt 3 4# Instalar dependencias en un entorno nuevo 5pip install -r requirements.txt
El estándar moderno: pyproject.toml y nuevas herramientas #
En proyectos profesionales modernos de Python:
pyproject.toml(PEP 518/621): Archivo único estandarizado para configurar metadatos del proyecto, dependencias y herramientas de linters/formatters (como Ruff o Black).- Gestores modernos de alta velocidad:
uv: Gestor de paquetes y versiones de Python escrito en Rust, entre 10 y 100 veces más rápido quepiptradicional (uv venv,uv pip install).Poetry/Pdm: Gestores integrales de dependencias con bloqueo determinista (poetry.lock).
11. Ejercicio práctico #
-
Crear carpeta
practica_venv -
Crear entorno virtual
clase -
Activarlo
-
Instalar
numpyymatplotlib -
Crear un archivo
grafica.py:1import numpy as np 2import matplotlib.pyplot as plt 3 4datos = np.random.rand(50) 5plt.plot(datos) 6plt.title("Gráfico generado dentro del entorno virtual") 7plt.show() -
Ejecutarlo:
1python grafica.py -
Desactivar el entorno.
Resumen del tema
Conceptos clave #
- Entorno Virtual (
venv): espacio aislado que contiene una versión específica de Python y sus librerías independientes. - Flujo básico:
- Creación:
python -m venv <nombre_entorno>. - Activación Windows:
<nombre>\Scripts\activate. - Activación macOS / Linux:
source <nombre>/bin/activate. - Desactivación:
deactivate.
- Creación:
- Gestión de Dependencias: exportación con
pip freeze > requirements.txte instalación conpip install -r requirements.txt. - Ecosistema Moderno: estandarización con
pyproject.tomly herramientas de última generación comouvyPoetrypara resolución rápida y bloqueos deterministas.
Qué debes recordar #
Crea y activa siempre un entorno virtual con venv o uv antes de instalar paquetes para garantizar reproducibilidad y aislamiento entre proyectos.