Conceptos clave de Python uv: pyproject.toml, lockfile y entornos virtuales

1 min read

Antes de lanzar comandos al azar, domina estos cuatro conceptos: dependencias, lockfile y venv.

Concepto 1: pyproject.toml es la identidad del proyecto

Aquí vive metadata y dependencias.

[project]
name = "my-app"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "requests>=2.31",
]
  • Edición manual: modificar archivo directo
  • Flujo recomendado: uv add / uv remove

Concepto 2: uv.lock es la foto exacta de dependencias

pyproject.toml define intención; uv.lock fija lo realmente instalado.

  • Se debe commitear
  • Garantiza reproducibilidad entre dev, CI y producción
uv lock --upgrade-package requests

Concepto 3: .venv es sandbox local

uv crea .venv en raíz del proyecto.

  • uv run lo usa automáticamente
  • .venv no se commitea
uv sync
source .venv/bin/activate

Concepto 4: uv run es el punto de entrada estándar

uv run valida lockfile, sincroniza entorno y ejecuta en contexto correcto.

uv run python main.py
uv run pytest
uv run flask run -p 3000

Siguiente paso

Con base lista, pasa a patrones de uso diario: 👉 Common Patterns