Poetry: Gestión de Dependencias
Poetry es una herramienta revolucionaria para la gestión de dependencias y el empaquetado en Python. Con Poetry, declarar las bibliotecas en las que tu proyecto depende es sencillo, y Poetry se encargará de administrar la instalación y actualización de esas dependencias por ti.
Instalación de Poetry
Para instalar Poetry de forma aislada y segura en tu sistema, sigue estos pasos:
macOS / Linux / bash en Windows
Windows PowerShell
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
Creación de un Proyecto con Poetry
Poetry no solo facilita la gestión de dependencias, sino que también agiliza la estructuración de proyectos Python. Puedes crear un nuevo proyecto desde cero de la siguiente manera:
Esta simple línea de comandos generará una estructura de carpetas estándar para tu proyecto, incluyendo un archivo pyproject.toml
, que es fundamental en la configuración de tu proyecto.
Configuración Centralizada
El archivo pyproject.toml
es el núcleo de la configuración de tu proyecto con Poetry. Puedes definir metadatos, dependencias, scripts y más en este archivo. A continuación, mostramos un ejemplo completo:
[tool.poetry]
name = "poetry_tutorial_project"
version = "0.1.0"
description = "Simple Python project built with Poetry."
authors = ["Todd Birchard <toddbirchard@gmail.com>"]
maintainers = ["Todd Birchard <toddbirchard@gmail.com>"]
license = "MIT"
readme = "README.md"
homepage = ""
repository = "https://github.com/hackersandslackers/python-poetry-tutorial/"
documentation = "https://hackersandslackers.com/python-poetry/"
keywords = ["Poetry", "Virtual Environments", "Tutorial", "Packages", "Packaging"]
[tool.poetry.dependencies]
python = "^3.7"
loguru = "*"
psutil = "*"
[tool.poetry.dev-dependencies]
pytest = "*"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[tool.poetry.scripts]
run = "wsgi:main"
[tool.poetry.urls]
issues = "https://github.com/hackersandslackers/python-poetry-tutorial/issues"
Esta configuración incluye metadatos, dependencias, scripts y enlaces útiles para tu proyecto.
Referencia: Documentación oficial de Poetry - pyproject.toml
Uso de la CLI de Poetry
La interfaz de línea de comandos (CLI) de Poetry simplifica la gestión de dependencias y la administración de proyectos. Aquí tienes algunas tareas comunes:
-
poetry shell
: Crea y activa un entorno virtual para tu proyecto. Esto aísla las dependencias de tu proyecto del sistema y otros proyectos. -
poetry install
: Instala las dependencias especificadas en el archivopyproject.toml
. Las versiones reales se registran en el archivopoetry.lock
. -
poetry update
: Actualiza las dependencias de acuerdo con las versiones especificadas enpyproject.toml
. El archivopoetry.lock
se actualiza. -
poetry add [nombre-del-paquete]
: Agrega una nueva dependencia a tu proyecto y la instala automáticamente. -
poetry remove [nombre-del-paquete]
: Elimina una dependencia de tu proyecto. -
poetry export -f requirements.txt > requirements.txt
: Exporta las dependencias y versiones de tu proyecto en formatorequirements.txt
para casos de uso específicos.
Poetry simplifica significativamente la gestión de dependencias y la administración de proyectos Python, lo que permite una experiencia de desarrollo más eficiente y organizada.
Referencia: Documentación oficial de Poetry - Comandos
En resumen, Poetry es una herramienta imprescindible para el desarrollo de proyectos Python. Facilita la gestión de dependencias, la organización de proyectos y el empaquetado, simplificando muchas tareas comunes. ¡Explora más sobre Poetry y úsalo para mejorar tu flujo de trabajo de desarrollo en Python!