Tutorial de entornos virtuales de Python: venv, pip y uv
Acaba para siempre con los conflictos de dependencias. Aprende a crear, activar y gestionar un entorno virtual de Python y prueba después la herramienta uv, más rápida.
- Crear:
python -m venv .venv - Activar:
.venv\Scripts\activate(Windows) osource .venv/bin/activate(macOS/Linux) - Instala con
pip install paquete; guarda conpip freeze > requirements.txt - Nunca subas la carpeta del entorno a Git.
uves una alternativa rápida para crear entornos e instalar paquetes.
Instalas un paquete para un proyecto y, de repente, otro proyecto deja de funcionar. Es el clásico conflicto de dependencias, y por eso todo desarrollador necesita un entorno virtual de Python.
Un entorno virtual da a cada proyecto su propio conjunto aislado de paquetes, de modo que las versiones nunca chocan. Se configura en unos 30 segundos y ahorra horas de depuración. En este tutorial crearás y activarás uno con venv, instalarás paquetes con pip, guardarás las dependencias, probarás uv y corregirás errores comunes.
¿Qué es un entorno virtual de Python?
Sin uno, pip install instala los paquetes en tu Python global. Puede que el proyecto A necesite requests 2.28 mientras que el B necesita una versión más reciente, y solo una puede ganar. Un entorno virtual es una carpeta con su propio enlace al intérprete y su propio site-packages, así que cada proyecto conserva las versiones que necesita.
Los proyectos de automatización de pruebas fijan las versiones de Selenium, Playwright o pytest para que los resultados sean repetibles en cualquier portátil y servidor de CI. Un entorno virtual más un archivo de requisitos es la base de eso. ¿Eres nuevo en el lenguaje? Empieza con nuestro tutorial de Python para principiantes.
Crear un entorno virtual de Python con venv
Paso 1: comprueba tu versión de Python
python --version
En algunos sistemas el comando es python3. El módulo venv viene con las versiones modernas de Python, así que no hace falta instalar nada más. Consulta la documentación oficial de venv.
Paso 2: crea el entorno
cd mi-proyecto
python -m venv .venv
Esto crea una carpeta .venv en tu proyecto. El nombre es una convención que muchas herramientas y editores detectan automáticamente.
Paso 3: actívalo
| Sistema | Comando |
|---|---|
| Windows (PowerShell) | .venv\Scripts\Activate.ps1 |
| Windows (cmd) | .venv\Scripts\activate.bat |
| macOS / Linux | source .venv/bin/activate |
Cuando está activo, tu prompt muestra (.venv). Escribe deactivate para salir. Si PowerShell bloquea el script, permite los scripts locales para tu usuario con Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.
Instalar paquetes en tu entorno virtual de Python con pip
pip install requests
pip list
pip install --upgrade requests
Comprueba que usas el pip del entorno con pip --version; la ruta debe apuntar dentro de .venv. La guía de usuario de pip explica más opciones.
Guardar y restaurar dependencias
pip freeze > requirements.txt
# más tarde, en otra máquina
python -m venv .venv
pip install -r requirements.txt
Sube requirements.txt al repositorio para que tu equipo y el CI puedan reconstruir el mismo entorno. ¿No tienes claros los commits? Lee nuestro tutorial de Git para principiantes. Añade .venv/ a tu .gitignore, porque los entornos son grandes, dependen de la máquina y se recrean fácilmente.
Prueba uv: una alternativa más rápida
uv es un gestor rápido de paquetes y proyectos de Python escrito en Rust. Crea entornos e instala paquetes mucho más rápido que pip y funciona con los mismos archivos requirements.txt.
uv venv
uv pip install requests
uv pip freeze > requirements.txt
Consejo rápido: si pip y venv ya te funcionan, no necesitas cambiar. Plantéate uv cuando las instalaciones sean lentas, por ejemplo en pipelines de CI grandes, y pruébalo primero en una rama.
Usar un entorno virtual de Python en proyectos reales
- VS Code: pulsa Ctrl+Shift+P, elige “Python: Select Interpreter” y selecciona el intérprete de
.venv. - Pipelines de CI: crea un entorno nuevo, instala desde el archivo de requisitos y ejecuta las pruebas, como en nuestra guía de GitHub Actions CI/CD.
- Contenedores: la misma idea se aplica en las imágenes; consulta nuestro tutorial de Docker para principiantes.
- Scripts de API y pruebas: un pequeño proyecto con requests en su propio entorno combina bien con las pruebas de API con Postman.
Errores comunes y soluciones
| Problema | Solución |
|---|---|
| “python no se reconoce” | Reinstala Python marcando “Add Python to PATH” o usa el lanzador py en Windows |
| Ejecución de scripts deshabilitada en PowerShell | Usa el comando RemoteSigned de arriba o activa desde cmd |
| Los paquetes se instalan globalmente | Olvidaste activar el entorno; busca (.venv) en el prompt |
| Entorno roto tras mover la carpeta | Borra .venv y recréalo desde requirements.txt |
| Versión de Python incorrecta | Créalo con el intérprete exacto, como python3.12 -m venv .venv |
Buenas prácticas: un entorno por proyecto, llámalo .venv en la raíz del proyecto, fija las dependencias, ignora la carpeta en Git, recrea en lugar de reparar y documenta los pasos de instalación en el README.
Reflexiones finales
Un entorno virtual de Python es el hábito más sencillo para que los proyectos sean reproducibles. Crea uno con python -m venv .venv, actívalo, instala lo que necesites y congela tus dependencias. Cuando te resulte natural, experimenta con uv para ganar velocidad y pon tu entorno a trabajar en un pequeño script de automatización o un proyecto de pruebas.
Preguntas frecuentes
¿Cómo creo un entorno virtual en Python?
Ejecuta python -m venv .venv en la carpeta de tu proyecto y actívalo con el script de tu sistema operativo.
¿Cómo activo un entorno virtual en Windows?
En PowerShell ejecuta .venv\Scripts\Activate.ps1; en el Símbolo del sistema ejecuta .venv\Scripts\activate.bat.
¿Cuál es la diferencia entre venv y virtualenv?
El módulo venv viene incluido en Python 3, mientras que virtualenv es una herramienta de terceros con funciones extra y compatibilidad con versiones antiguas de Python. Para la mayoría de proyectos, venv es suficiente.
¿Debo subir mi entorno virtual a Git?
No. Sube requirements.txt y añade la carpeta del entorno a .gitignore.
¿Es uv mejor que pip?
uv suele ser mucho más rápido y funciona con los flujos habituales de pip, pero pip sigue siendo el estándar y es suficiente para la mayoría de proyectos.
Sigue aprendiendo
¿Necesitas ayuda con testing, WordPress o SEO?
Ayudamos a los equipos a lanzar mejor software y a hacer crecer sus sitios. Cuéntanos en qué trabajas y te sugeriremos un siguiente paso claro.
Más guías sobre testing, IA y desarrollo moderno
¿Te gustó este artículo? Elige otro tutorial y sigue aprendiendo.
Playwright vs Cypress en 2026: ¿cuál elegir?
Comparamos Playwright y Cypress en 2026: navegadores, lenguajes, velocidad, depuración, ejecución en paralelo, CI y costes. Descubre qué herramienta de pruebas end-to-end encaja con tu equipo.
Leer artículo →Pruebas de softwareSmoke testing vs sanity testing: diferencias con ejemplos reales
El smoke testing comprueba que una compilación es lo bastante estable para probarla. El sanity testing comprueba que una corrección concreta funciona. Conoce las diferencias con ejemplos, una tabla comparativa y consejos de automatización.
Leer artículo →Inteligencia artificialClaude Haiku 5.5: características, precios y casos de uso para desarrolladores
Claude Haiku 5.5 es el modelo más rápido y económico de Anthropic. Descubre su contexto de 1M de tokens, los precios, los cambios en la API y los mejores casos de uso para desarrolladores y equipos de QA.
Leer artículo →