Una herramienta moderna para la gestión de dependencias, entornos virtuales y empaquetado de proyectos en Python. Su objetivo es hacerlo todo de forma fácil y predecible.
Una herramienta moderna para la gestión de dependencias, entornos virtuales y empaquetado de proyectos en Python. Su objetivo es hacerlo todo de forma fácil y predecible.
Centraliza toda la configuración del proyecto en un solo archivo estándar: pyproject.toml.
Esto reemplaza a `Pipfile`, `requirements.txt`, `setup.py` y otros archivos de configuración.
Se recomienda instalar Poetry de forma aislada para que no interfiera con otros paquetes de Python. El método oficial usa un script de instalación.
# Comando recomendado desde la web oficial
curl -sSL https://install.python-poetry.org | python3 -poetry newCrea una estructura de proyecto estándar y un archivo `pyproject.toml` listo para usar.
poetry new mi-proyecto-genialpoetry initSi ya tienes una carpeta de proyecto, este comando te guiará para crear el archivo `pyproject.toml`.
cd mi-proyecto-existente
poetry initpyproject.tomlEl archivo de configuración central. Define la información del proyecto y sus dependencias.
[tool.poetry]
name = "mi-proyecto-genial"
version = "0.1.0"
description = ""
authors = ["Tu Nombre "]
[tool.poetry.dependencies]
python = "^3.11"
requests = "^2.31.0"
[tool.poetry.group.dev.dependencies]
pytest = "^8.0.0" poetry addInstala un paquete y lo añade automáticamente a `pyproject.toml`. También actualiza el lockfile.
# Añade una dependencia de producción
poetry add requests
# Añade una dependencia de desarrollo
poetry add pytest --group devpoetry.lockAl igual que Pipenv, Poetry crea un archivo `poetry.lock` que contiene las versiones exactas de todos los paquetes. Esto garantiza builds 100% reproducibles.
poetry installLee el archivo `poetry.lock` (si existe) e instala las versiones exactas de las dependencias. Si no existe `poetry.lock`, lo crea a partir de `pyproject.toml`.
# En un proyecto nuevo
poetry installPoetry gestiona los entornos virtuales automáticamente. Por defecto, los crea en una carpeta centralizada, no dentro de tu proyecto.
poetry runEjecuta un comando dentro del entorno virtual gestionado por Poetry.
poetry run python mi_script.py
poetry run pytestpoetry shellInicia una nueva shell dentro del entorno virtual del proyecto.
poetry shellpoetry updateBusca nuevas versiones de los paquetes (respetando las restricciones de `pyproject.toml`) y actualiza el `poetry.lock`.
# Actualiza todos los paquetes
poetry update
# Actualiza solo un paquete
poetry update requestspoetry removeDesinstala un paquete y lo elimina de tus archivos de configuración.
poetry remove requestspoetry buildUna de las grandes ventajas de Poetry. Este comando crea los archivos de distribución (`.tar.gz` y `.whl`) de tu proyecto, listos para ser publicados.
poetry buildpoetry publishSi has configurado tus credenciales de PyPI, este comando empaqueta Y sube tu librería directamente a PyPI.
poetry publishPoetry es una herramienta moderna y completa que gestiona todo el ciclo de vida de un proyecto de Python, desde las dependencias hasta la publicación, usando el estándar `pyproject.toml`.