Python Poetry
Poetry es una herramienta para la gestión de dependencias y la construcción de paquetes para proyectos de Python. Facilita la creación y gestión de entornos virtuales, además de permitir la especificación e instalación de dependencias de manera sencilla.
1. Instalación de Poetry
1.1. Usando el Instalador
Para instalar Poetry, puedes usar el siguiente comando en la terminal:
curl -sSL https://install.python-poetry.org | python3 -
1.2. Verificando la Instalación
Después de la instalación, verifica que Poetry se haya instalado correctamente con:
poetry --version
2. Estructura de Poetry
2.1. Directorio del Proyecto
Cuando creas un nuevo proyecto con Poetry, este genera una estructura de directorios con un archivo pyproject.toml, que es el archivo de configuración principal para tu proyecto.
2.2. Archivo pyproject.toml
El archivo pyproject.toml es donde defines la configuración de tu proyecto, incluyendo metadatos y dependencias.
[tool.poetry]
name = "mi_proyecto"
version = "0.1.0"
description = "Una breve descripción de mi proyecto."
authors = ["Tu Nombre <tu.email@ejemplo.com>"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.8"
requests = "^2.25.1"
flask = "^2.0.1"
[tool.poetry.dev-dependencies]
pytest = "^6.2.4"
black = "^21.6b0"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Explicación de los Campos
- [tool.poetry]: Sección principal donde se configura la información del proyecto.
name: Nombre del proyecto.version: Versión del proyecto.description: Una breve descripción de lo que hace el proyecto.authors: Lista de autores del proyecto.license: Licencia del proyecto.-
readme: Ruta al archivo README del proyecto. -
[tool.poetry.dependencies]: Lista de dependencias del proyecto.
python: Especifica la versión de Python requerida.requests: Ejemplo de una dependencia del proyecto.-
flask: Otro ejemplo de dependencia. -
[tool.poetry.dev-dependencies]: Dependencias necesarias solo para desarrollo.
pytest: Herramienta de pruebas.-
black: Formateador de código. -
[build-system]: Define el sistema de construcción del proyecto.
requires: Dependencias necesarias para construir el proyecto.build-backend: Especifica el backend de construcción que se utilizará.
3. Comandos Básicos de Poetry
3.1. Creando un Nuevo Proyecto
Para crear un nuevo proyecto, usa:
poetry new nombre-del-proyecto
Esto creará una estructura de directorios básica:
nombre-del-proyecto/
├── nombre_del_proyecto/
│ └── __init__.py
├── tests/
│ └── __init__.py
└── pyproject.toml
3.2. Agregando Dependencias
Para agregar una dependencia a tu proyecto, usa:
poetry add nombre-del-paquete
Por ejemplo, para agregar el paquete requests:
poetry add requests
3.2.1. Agregando Dependencias de Desarrollo
Para agregar una dependencia solo para desarrollo, usa la bandera --dev:
poetry add --dev nombre-del-paquete
3.3. Eliminando Dependencias
Para eliminar una dependencia, usa:
poetry remove nombre-del-paquete
3.4. Instalando Dependencias
Para instalar todas las dependencias listadas en el pyproject.toml, usa:
poetry install
3.5. Actualizando Dependencias
Para actualizar las dependencias del proyecto, usa:
poetry update
4. Gestionando Entornos Virtuales
Poetry crea automáticamente un entorno virtual para tu proyecto. Para activar el entorno virtual, usa:
poetry shell
Para ejecutar un comando dentro del entorno virtual sin activarlo, puedes usar:
poetry run nombre-del-comando
5. Scripts de Ejecución
Puedes definir scripts en tu archivo pyproject.toml para ejecutar comandos personalizados. Por ejemplo:
[tool.poetry.scripts]
mi_script = "modulo:funcion"
Para ejecutar el script, usa:
poetry run mi_script
6. Publicando Paquetes
Si deseas distribuir tu paquete, puedes publicarlo en PyPI:
- Primero, asegúrate de que la información en el
pyproject.tomlsea correcta. - Inicia sesión en tu cuenta de PyPI:
poetry config pypi-token.pypi <TOKEN>
- Publica tu paquete:
poetry publish
7. Conclusión
Poetry simplifica la gestión de dependencias y la construcción de paquetes en proyectos de Python. Para más información y documentación detallada, puedes visitar la documentación oficial de Poetry.
8. Recursos Adicionales
Estos recursos pueden ayudarte a profundizar aún más en el uso de Poetry y sus funcionalidades.