Entornos Virtuales: Inicio Rápido
Un entorno virtual aísla las dependencias del proyecto del Python del sistema y de otros proyectos. Crea uno antes de instalar bibliotecas; es el primer paso en cualquier base de código Python real.
Busca en todas las páginas de la documentación
Un entorno virtual aísla las dependencias del proyecto del Python del sistema y de otros proyectos. Crea uno antes de instalar bibliotecas; es el primer paso en cualquier base de código Python real.
# uv (recomendado)
uv venv
source .venv/bin/activate
uv pip install httpx pydantic
# venv de la librería estándar
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pipCuándo usar esto:
# Crear proyecto con uv
mkdir demo-app && cd demo-app
uv init --app
uv add fastapi uvicorn pydantic
# Ejecutar usando el intérprete del proyecto (no se requiere activación manual)
uv run python -c "import fastapi; print(fastapi.__version__)"
# Sincronizar desde el archivo de bloqueo en una clonación nueva
uv sync# verify_env.py - ejecutar con: uv run python verify_env.py
import sys
def main() -> None:
prefix = sys.prefix
in_venv = sys.prefix != sys.base_prefix
print(f"prefix={prefix}")
print(f"isolated={in_venv}")
print(f"version={sys.version.split()[0]}")
if __name__ == "__main__":
main()Lo que esto demuestra:
uv venv / uv init crea .venv junto al proyectouv add registra las dependencias en pyproject.toml y el archivo de bloqueouv run ejecuta comandos dentro del entorno del proyectosys.prefix != sys.base_prefix confirma el aislamiento.venv..venv/bin para que python se resuelva localmente..venv/lib/python3.14/site-packages.uv sync, uv run.| Herramienta | Fortaleza |
|---|---|
uv | Velocidad, archivo de bloqueo, flujo de trabajo del proyecto |
venv | Librería estándar, sin instalación adicional |
pip-tools | Compilación heredada de requirements.in |
poetry / pdm | Empaquetado completo + gestión de entorno |
# Activación en Windows
.venv\Scripts\activate
# Desactivar
deactivate
# Qué python
which python
python -c "import sys; print(sys.executable)"uv run..venv en Git; confirma pyproject.toml + bloqueo..venv/bin/python en el editor.deactivate y reactiva.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
uv project | Nuevas aplicaciones y bibliotecas | Air-gapped sin binario uv |
docker | Paridad de despliegue | Solo verificación de sintaxis local |
pyenv | Múltiples versiones de Python | Una sola versión es suficiente |
conda | Pila científica con binarios | Servicio web puro |
Con uv run, no. Para comandos python/pip simples, activa o usa la ruta completa .venv/bin/python.
.venv/, __pycache__/, .pytest_cache/, archivos .env locales con secretos.
uv para proyectos nuevos: instalaciones y archivos de bloqueo más rápidos. pip dentro de venv está bien para scripts pequeños.
Elimina .venv, ejecuta uv sync o uv venv && uv pip install -r requirements.txt.
Sí, .venv es una convención. Actualiza la ruta del intérprete del IDE en consecuencia.
Usa pyenv, uv python pin 3.14, o matriz de CI python-version: "3.14".
Instala dependencias exactamente desde uv.lock - clones y CI reproducibles.
PEP 668 protege el Python del sistema. Crea un venv en lugar de pip install globalmente.
uv add --dev ruff mypy pytest - mantiene las herramientas fuera de los conjuntos de dependencias de producción cuando están configuradas.
Sí, por defecto con python -m venv. uv gestiona instalaciones compatibles con pip en sus entornos.
Versiones de Stack: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, y uv 0.6+.
Revisado por Chris St. John·Última actualización: 16 jul 2026