El ecosistema de Python tradicionalmente ha dependido de herramientas como pip
y virtualenv
para gestionar dependencias y entornos de proyectos. Si bien estas herramientas nos han servido bien, a menudo conducen a conflictos de dependencias, gestión manual de entornos y configuraciones de proyectos inconsistentes entre equipos.
Python Poetry resuelve estos desafíos al proporcionar una herramienta moderna y unificada de gestión de dependencias y entornos. Maneja todo, desde entornos virtuales hasta publicación de paquetes, todo mientras garantiza construcciones reproducibles a través de una resolución inteligente de dependencias.
Esta guía te mostrará cómo usar Poetry para optimizar tu flujo de trabajo de desarrollo en Python y evitar dolores de cabeza comunes con las dependencias.
Python Poetry vs. PIP
Poetry y pip sirven para propósitos diferentes en el ecosistema de Python. Mientras que pip
es principalmente un instalador de paquetes, Poetry es una herramienta completa de gestión de dependencias y proyectos. Aquí están las principales diferencias:
1. Resolución de dependencias
- Pip: Resolución simple y lineal de dependencias que puede llevar a conflictos
- Poesía: Resolvedor avanzado de dependencias que evita conflictos antes de la instalación
2. Gestión de entornos virtuales
- Pip: Requiere herramientas separadas (virtualenv, venv) y activación manual
- Poesía: Crea y gestiona automáticamente entornos virtuales por proyecto
3. Configuración del proyecto
- Pip: Utiliza requirements.txt para dependencias, setup.py para metadatos del proyecto
- Poesía: Único archivo pyproject.toml para todas las necesidades de configuración
4. Archivos de bloqueo
- Pip: Sin soporte integrado para archivos de bloqueo
- Poetry: Genera poetry.lock para construcciones reproducibles en diferentes entornos
5. Publicación de paquetes
- Pip: Requiere herramientas adicionales (twine, setuptools) para publicar
- Poetry: Comandos integrados para construir y publicar paquetes
Cuando usar Poetry en lugar de pip
Elija Poetry cuando:
- Esté trabajando en proyectos en equipo que necesiten entornos reproducibles
- Esté construyendo paquetes que serán publicados en PyPI
- Esté manejando árboles de dependencias complejos con posibles conflictos
- Necesite gestión automatizada de entornos virtuales
- Quiera una herramienta única para todo el flujo de trabajo de desarrollo
Siga utilizando pip cuando:
- Trabajando en scripts simples con dependencias mínimas
- Aprendiendo Python por primera vez
- Necesitas instalar rápidamente un paquete único
- Trabajando en entornos donde no es posible la instalación de Poetry
- Manteniendo proyectos heredados que ya están configurados con pip
La regla general es: usa Poetry para cualquier proyecto que se compartirá, implementará o mantendrá a largo plazo. Usa pip para experimentos rápidos o ejercicios de aprendizaje.
Dicho esto, vamos directamente a usar Poetry.
Configuración de Python Poetry
Mayormente interactuarás con Poetry como una herramienta de línea de comandos (CLI), por lo que tiene sentido instalarla en todo el sistema de tu máquina. Esta sección cubre este crucial primer paso y cómo establecer algunas configuraciones predeterminadas para Poetry según tus necesidades.
Instalación de Poetry
Puedes instalar Poetry usando un script de instalación oficial, que se puede descargar y ejecutar con un solo comando.
Para macOS, Linux y WSL2:
$ curl -sSL https://install.python-poetry.org | sudo python3 -
Para Windows Powershell (ejecutar con privilegios de administrador):
$ (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
Si estás en Windows y has instalado Python desde la Tienda Microsoft (por alguna razón extraña), entonces reemplaza py
con python
en el comando anterior.
Después de que finalice el script de instalación, imprime un mensaje pidiéndote que agregues Poetry a tu PATH para que el poetry
comando esté disponible en todas partes.
Para macOS, Linux y WSL2, agrega la siguiente línea a tu script de shell como .bashrc
o .zshrc
:
$ export PATH="/Users/bexgboost/.local/bin:$PATH"
Para Windows, puedes seguir las instrucciones de salida.
Posteriormente, verifica tu instalación ejecutando poetry --version
.
Configuración de Poetry
La mayor parte de la configuración de Poetry se refiere a cómo se crean los entornos virtuales y cómo se instalan los paquetes. Puedes imprimir una lista (casi) completa de las configuraciones de Poetry con:
$ poetry config --list
La salida se verá algo así como abajo:
cache-dir = "/Users/bexgboost/Library/Caches/pypoetry" experimental.system-git-client = false installer.max-workers = null installer.modern-installation = true installer.no-binary = null installer.parallel = true keyring.enabled = true solver.lazy-wheel = true virtualenvs.create = true virtualenvs.in-project = null virtualenvs.options.always-copy = false virtualenvs.options.no-pip = false virtualenvs.options.no-setuptools = false virtualenvs.options.system-site-packages = false virtualenvs.path = "{cache-dir}/virtualenvs" # /Users/bexgboost/Library/Caches/pypoetry/virtualenvs virtualenvs.prefer-active-python = false virtualenvs.prompt = "{project_name}-py{python_version}" warnings.export = true
En la primera línea, vemos una ruta hacia la caché de Poetry. Se utiliza principalmente para almacenar distribuciones de paquetes descargados y entornos virtuales. Los entornos virtuales que crees se almacenan aquí de forma predeterminada. Si deseas cambiar eso, puedes ejecutar el siguiente comando:
$ poetry config virtualenvs.path path/to/new/virtualenv/dir
Otra configuración importante es el número de núcleos utilizados durante las instalaciones. De forma predeterminada, está establecido en cuatro, pero podemos hacer que sea más rápido utilizando todos los núcleos de la CPU. Primero, averigua el número de núcleos de tu máquina ejecutando os.cpu_count()
en el Intérprete de Python. Luego, establece la salida:
$ poetry config installer.max-workers = 10
Una configuración opcional es si crear entornos virtuales en su directorio de trabajo o en la caché. Esto se controla a través de la opción virtualenvs.in-project
. Si lo establece en Verdadero,
.venv
directorio siempre se creará en su directorio de trabajo:
$ poetry config virtualenvs.in-project true
Creando un Nuevo Proyecto con Poetry
Sumérjase en los pasos clave para crear un nuevo proyecto con Poetry y entender su archivo de configuración principal.
Iniciando un nuevo proyecto Poetry
El uso de Poetry generalmente comienza creando un nuevo proyecto con el comandopoetry new
:
$ poetry new explore-poetry $ cd explore-poetry
El comando crea un directorio explore-poetry
prellenado con los siguientes archivos y directorios:
explore-poetry ├── pyproject.toml ├── README.md ├── explore-poetry │ └── __init__.py └── tests └── __init__.py
Esta estructura de directorios sigue las mejores prácticas de Python:
pyproject.toml
: El archivo de configuración principal que define metadatos del proyecto y dependenciasREADME.md
: Archivo de documentación que explica el proyectoexplore-poetry/
: Directorio de código fuente que contiene el código del paquete principal, con__init__.py
para convertirlo en un paquetetests/
: Directorio para archivos de prueba, con__init__.py
para convertirlo en un paquete (importable)
Comprensión de pyproject.toml
Aquí, el archivo pyproject.toml
requiere especial atención ya que es el único archivo no vacío generado por Poetry:
[tool.poetry] name = "explore-poetry" version = "0.1.0" description = "" authors = ["BexTuychiev <[email protected]>"] readme = "README.md" [tool.poetry.dependencies] python = "^3.8" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"
Este archivo orquesta tu proyecto y sus dependencias. Utiliza Tom’s Obvious, Minimal Language, que fue acordado como el lenguaje de configuración estándar para los paquetes de Python en PEP 518.
Todos los pyproject.toml
archivos se dividen en secciones llamadas tablas usando corchetes como tool.poetry
o build-system
. Poetry utiliza estas tablas para gestionar dependencias, requisitos de construcción del proyecto u otras tareas.
Al ejecutar los comandos de Poetry descritos en las secciones siguientes, el pyproject.toml
archivo se actualizará automáticamente.
Trabajando con Entornos Virtuales en Poetry
En esta sección, descubrirás los entresijos de la gestión de entornos virtuales en Poetry una vez que lo configures. Aprenderás por qué los entornos virtuales son importantes, cómo Poetry los maneja automáticamente y los comandos básicos para manipularlos, como la creación, activación y cambio. También aprenderás cómo gestionar las versiones de Python con Poetry.
Creación y activación de un entorno virtual
Cuando instalas Poetry por primera vez, no viene con entornos integrados, como lo evidencia una salida en blanco cuando ejecutas poetry env list
:
$ poetry env list # no output
Pero tan pronto como comiences a agregar dependencias (más sobre eso más adelante) con poetry add nombre-del-paquete
, crea automáticamente un entorno en el directorio de la caché para el proyecto. Por ejemplo, intentemos agregar requests
como una dependencia:
$ poetry add requests
Deberías recibir una salida similar a la siguiente:
Creating virtualenv explore-poetry--I9GJYUn-py3.8 in /Users/bexgboost/Library/Caches/pypoetry/virtualenvs Using version ^2.32.3 for requests Updating dependencies Resolving dependencies... (2.5s) Package operations: 5 installs, 0 updates, 0 removals - Installing certifi (2024.8.30) - Installing charset-normalizer (3.4.0) - Installing idna (3.10) - Installing urllib3 (2.2.3) - Installing requests (2.32.3) Writing lock file
La primera línea indica que Poetry creó el entorno en la caché. Las líneas siguientes informan que las dependencias para requests
se resuelven correctamente y se genera un archivo de bloqueo (más sobre eso más adelante, también).
Presta atención al nombre del entorno: explore-poetry--I9GJYUn-py3.8
. El nombre incluye el nombre del directorio del proyecto, seguido de un ID único y luego la versión de Python que está utilizando el entorno.
La próxima vez que agregues una dependencia, Poetry utiliza automáticamente este entorno para instalar paquetes:
$ poetry add beautifulsoup4 Using version ^4.12.3 for beautifulsoup4 Updating dependencies Resolving dependencies... (1.1s) Package operations: 2 installs, 0 updates, 0 removals - Installing soupsieve (2.6) - Installing beautifulsoup4 (4.12.3) Writing lock file
Cuando uses Poetry, tu terminal no mostrará qué entorno virtual de Poetry está activo. Para ver esta información, necesitas ejecutar poetry env list
:
$ poetry env list explore-poetry--I9GJYUn-py3.8 (Activated)
Para interactuar con el entorno de Poetry activo, puedes ejecutar poetry shell
:
$ poetry shell
El comando abre una nueva sesión de shell dentro de la actual, y puedes ejecutar comandos como python
o pytest
.
Por ejemplo, para ejecutar scripts de Python:
$ poetry shell $ python script.py
Para ejecutar frameworks de desarrollo como Streamlit:
# Dentro del shell $ streamlit run app.py
Después, puedes salir del shell llamando exit
.
Alternativamente, puedes ejecutar comandos en el shell de Poetry sin entrar en él con poetry run
:
$ poetry run python script.py $ poetry run streamlit run app.py
Configurando la versión de Python
Cuando ejecutas poetry add
o poetry install
, Poetry utiliza automáticamente la versión de Python especificada en tu archivo pyproject.toml
. Para especificar una versión diferente de Python, puedes ejecutar el comando env use
:
$ poetry env use python3.11
Tenga en cuenta que Python 3.11 debe estar instalado en todo el sistema de su máquina para que el comando funcione.
Compruebe que Poetry esté utilizando el entorno con la nueva versión de Python:
$ poetry env list explore-poetry--I9GJYUn-py3.11 (Activated) explore-poetry--I9GJYUn-py3.8
Observe cómo el nuevo entorno se adjunta automáticamente a nuestro proyecto (los IDs son los mismos). Una vez que configure su versión de Python, puede eliminar los entornos con otras versiones para liberar espacio en disco:
$ poetry env remove python3.8
Al eliminar un entorno, solo tiene que especificar la versión de Python. También puede eliminar todos los entornos y empezar de nuevo:
$ poetry env remove --all
Ten en cuenta que --all
elimina todos los entornos asociados con el proyecto actual, no los entornos de otros proyectos.
Si estás trabajando en proyectos de equipo, a menudo es mejor mantener el entorno virtual en el directorio del proyecto:
$ poetry config virtualenvs.in-project true
Este comando no tendrá ningún efecto si ya tienes un entorno para el proyecto en la caché. Para crear un entorno local, elimina primero todos los existentes de la caché.
Esto crea una .venv
carpeta en tu directorio de trabajo, la cual debes añadir a tu archivo .gitignore.
Gestión de dependencias con Poetry
La gestión de dependencias es donde brilla Poetry. Proporciona funciones completas para especificar, instalar y gestionar dependencias para que nunca te encuentres con conflictos de dependencias infernales.
En esta sección, aprenderás sobre cómo agregar e instalar dependencias, crear grupos de dependencias, sintaxis de especificación de dependencias en pyproject.toml
y archivos de bloqueo.
Agregando dependencias en Poetry
Cuando uses Poetry, utilizarás el poetry add nombre-del-paquete
comando para instalar paquetes desde PyPI en lugar de pip install
. Esto tiene varios beneficios:
- Agrega automáticamente el paquete a
pyproject.toml
con la restricción de versión correcta - Actualiza el archivo de bloqueo para asegurar compilaciones reproducibles
- Resuelve dependencias para evitar conflictos
- Instala el paquete y todas sus dependencias en el entorno virtual
Por ejemplo, primero agreguemos Numpy como una dependencia:
$ poetry add numpy
Inmediatamente, deberías recibir un conflicto de resolución de dependencias que indique que la versión de Numpy que se está instalando no es compatible con tu versión de Python. La razón es que cuando cambiamos al entorno de Python 3.11, no actualizamos el archivo pyproject.toml
en este momento, se ve así:
[tool.poetry.dependencies] python = "^3.8" requests = "^2.32.3" beautifulsoup4 = "^4.12.3"
El símbolo de acento circunflejo ^ se utiliza para indicar que nuestro explore-poetry
proyecto es compatible con cualquier versión de Python hasta Python 4, pero el rango de versiones de Numpy solo admite versiones de Python entre 3.8 y 3.12, lo que es un rango más estrecho. El error de conflicto proviene de ese hecho.
Entonces, para solucionar el error, debes actualizar el rango de versiones de Python a lo siguiente:
python = ">=3.8, <3.12"
Una vez que realices este cambio, poetry add numpy
debería funcionar como se espera.
Acabas de observar una de las mejores características de Poetry: detectar conflictos de versiones antes de instalar cualquier paquete en lugar de informarte sobre las incompatibilidades de versiones posteriormente, como lo hace pip.
La sintaxis para especificar versiones de dependencias
La poesía utiliza una sintaxis poderosa para especificar una amplia gama de versiones para la mejor sincronización entre dependencias. Aquí están los símbolos más utilizados:
- Caret (^): Permite actualizaciones de parches y menores pero no importantes. Ejemplo:
^1.2.3
permite actualizaciones de 1.2.3 a 1.9.9 pero no a 2.0.0. - Tilde (~): Permite solo actualizaciones de parches. Ejemplo:
~1.2.3
permite actualizaciones de 1.2.3 a 1.2.9 pero no a 1.3.0. - Versión exacta: Especifica el número de versión exacto. Ejemplo:
1.2.3
solo permite la versión 1.2.3 - Más grande que (>): Permite cualquier versión superior a la especificada. Ejemplo:
>1.2.3
permite 1.2.4, 1.3.0, 2.0.0, etc. - Menor que (<): Permite cualquier versión por debajo de la especificada. Ejemplo:
<2.0.0
permite cualquier cosa por debajo de 2.0.0. - Mayor o igual que (>=): Permite la versión especificada y las superiores. Ejemplo:
>=1.2.3
permite la versión 1.2.3 y cualquier versión superior. - Menor o igual (<=): Permite la versión especificada y todas las inferiores. Ejemplo:
<=2.0.0
permite la versión 2.0.0 y cualquier versión inferior. - Rango de versiones: Combina restricciones con comas. Ejemplo:
>=1.2.3,<2.0.0
permite versiones desde 1.2.3 hasta 1.9.9 - Comodín (*): Se corresponde con cualquier versión. Ejemplo:
1.2.*
se corresponde con cualquier versión que comience con 1.2
Por supuesto, puedes combinarlos según tus necesidades.
Creando grupos de dependencias en Poetry
En proyectos complejos con muchos componentes en movimiento, a menudo lidias con diferentes categorías de dependencias.
Por ejemplo, en un proyecto de aprendizaje automático, a menudo se crean diferentes tuberías y componentes para la ingestión de datos, limpieza de datos, ingeniería de características, entrenamiento de modelos, implementación y monitoreo. Sin mencionar que también hay que completar la documentación y ejecutar pruebas. Todos estos pasos tienen su ecosistema de herramientas, y mezclar sus dependencias infla el paquete de distribución final.
Con Poetry, puedes crear grupos de dependencias con nombres arbitrarios para instalarlos solo cuando sea necesario. O la mejor parte: los usuarios de tu paquete también pueden elegir instalar las partes que necesiten.
$ poetry add --group ui streamlit plotly dash $ poetry add --group dev black flake8 isort mypy pylint
Los comandos anteriores crean dos grupos de dependencias, ui
y dev
(si aún no existen), y dos subtablas en pyproject.toml
:
[tool.poetry.dependencies] python = "^3.11" requests = "^2.32.3" beautifulsoup4 = "^4.12.3" numpy = "^2.1.3" [tool.poetry.group.ui.dependencies] streamlit = "^1.39.0" plotly = "^5.24.1" dash = "^2.18.2" [tool.poetry.group.dev.dependencies] black = "^24.10.0" flake8 = "^7.1.1" isort = "^5.13.2" mypy = "^1.13.0" pylint = "^3.3.1"
Aunque los grupos de dependencias estén separados, siguen resolviéndose entre sí. En otras palabras, si hay una dev
dependencia que entra en conflicto con un paquete en ui
, Poetry no realizará la instalación.
En algunos casos, puede crear grupos de dependencias opcionales o hacer que grupos existentes sean opcionales para que no se instalen de forma predeterminada cuando un usuario recrea el entorno de su proyecto. Para hacerlo, debe crear una nueva subtabla en el archivo pyproject.toml
. Por ejemplo, haremos que el grupo ui
sea opcional a continuación:
[tool.poetry.group.ui] optional = true [tool.poetry.group.ui.dependencies] streamlit = "^1.39.0" plotly = "^5.24.1" dash = "^2.18.2"
Se hace configurando el parámetro opcional
a true
antes de declarar las dependencias del grupo.
Reproduciendo un proyecto de poesía con el archivo poetry.lock
Si alguien clona tu repositorio de GitHub que contiene un proyecto de Poetry, pueden recrear una copia perfecta del entorno virtual de tu proyecto ejecutando un solo comando: poetry install
.
El comando install utiliza el archivo más completo poetry.lock
. A diferencia de pyproject.toml
, el archivo de bloqueo lista:
- Las versiones exactas de las dependencias principales se enumeran en pyproject.toml
- Las versiones exactas de las dependencias de las dependencias principales (dependencias transitivas)
Por ejemplo, requests
depende de urllib3, certifi, charset-normalizer
y idna
. Sin un archivo de bloqueo, estas subdependencias podrían resolverse a diferentes versiones en diferentes máquinas.
El archivo de bloqueo asegura que todos en tu equipo obtengan las mismas versiones de dependencias, previniendo el problema de “funciona en mi máquina”.
La diferencia entre poetry add y poetry install
Explicaremos la diferencia entre add
y install
comandos de Poetry con un caso de uso.
Supongamos que estás trabajando en un proyecto de detección de fraudes. Agregas tus dependencias iniciales:
$ poetry add pandas scikit-learn
Esto agrega los paquetes al archivo de bloqueo y pyproject.toml
. Luego, tu colega clona el repositorio:
$ git clone fraud-detection-repo-link $ cd fraud-detection $ poetry install
Ejecutan el comando install
para instalar todo lo que está listado en el archivo de bloqueo.
Más tarde, necesitas agregar un nuevo paquete:
$ poetry add xgboost
Tu colega realiza los cambios:
$ git pull $ poetry install
Ejecutan el comando install
para instalar el nuevo paquete. Por lo tanto,
- Usa
poetry
add cuando agregas nuevas dependencias - Utilice
poetry install
cuando necesite configurar un proyecto existente - Siempre haga commit de
pyproject.toml
ypoetry.lock
al control de versiones
Instalando grupos de dependencias con el comando poetry install
Anteriormente, aprendimos cómo agrupar dependencias en Poetry. Cuando ejecutas poetry install
, instala todos los grupos no opcionales por defecto, lo cual puede que no sea lo que deseas en todos los casos.
Por ejemplo, puede que estés clonando un repositorio solo para trabajar en la documentación. O quieres trabajar en el código principal del repositorio, excepto en los aspectos de documentación y pruebas. El comando install
es lo suficientemente flexible como para cubrir todos estos casos:
Excluyendo ciertos grupos:
$ poetry install --without ui,dev
Instalando grupos opcionales también:
# Instalando el grupo de documentación opcional $ poetry install --with docs
Instalando solo grupos específicos:
$ poetry install --only ui
Instalando solo las dependencias de tiempo de ejecución del proyecto (las dependencias mencionadas fuera de los grupos, agregadas con el comando poetry add package
):
$ poetry install --only main
Eliminando dependencias en Poetry
Eliminar una dependencia es sencillo utilizando el remove
comando:
$ poetry remove requests
Esto elimina requests
de las dependencias principales del proyecto. Para eliminar un paquete de una dependencia de grupo, puedes utilizar nuevamente la etiqueta --group
:
$ poetry remove streamlit --group ui
El remove
comando desinstala limpiamente el paquete, junto con sus dependencias transitivas.
Publicar un proyecto con Poetry en PyPI
Si tu proyecto está listo para ser distribuido, publicarlo en PyPI (Python Package Index) permite a otros desarrolladores instalar y utilizar tu código fácilmente a través de pip
. Poetry hace este proceso muy sencillo con solo dos comandos:
$ poetry build # Construir distribuciones $ poetry publish # Publicar en PyPI
Sin embargo, antes de ejecutar estos comandos, debes configurar correctamente tus credenciales de PyPI. Primero, crea tus cuentas en:
Configura Poetry con tus credenciales:
$ poetry config pypi-token.pypi your-pypi-token $ poetry config pypi-token.testpypi your-test-pypi-token
Ahora, prueba primero tu paquete:
# Configurar el repositorio TestPyPI $ poetry config repositories.testpypi https://test.pypi.org/legacy/ # Publicar en TestPyPI $ poetry build $ poetry publish -r testpypi
Después de publicar en TestPyPI, puedes intentar instalar tu paquete para probar que todo funcione bien:
$ pip install --index-url https://test.pypi.org/simple/ your-package-name
Si todo está bien, puedes publicar en PyPI directamente:
$ poetry publish
Mejores Prácticas al Trabajar con Poetry
Existen muchas trampas y mejores prácticas al utilizar Poetry, y por supuesto, no podemos mencionarlas todas en un solo artículo. Pero aquí tienes algunas comunes que puedes aplicar de inmediato:
- Siempre usa entornos virtuales — Poetry los crea automáticamente para cada proyecto
- Mantén tu
pyproject.toml
bajo control de versiones pero excluyepoetry.lock
para bibliotecas - Incluye
poetry.lock
en el control de versiones para aplicaciones para garantizar compilaciones reproducibles - Utilice versiones semánticas para las versiones de su paquete (mayor.menor.corrección). Puede usar
poetry version corrección/menor/mayor
comandos para incrementar las versiones del paquete en uno. Por ejemplo,poetry version mayor
cambia 0.2.0 a 1.0.0 en su archivopyproject.toml
. - Especifique cuidadosamente las restricciones de la versión de las dependencias para evitar conflictos
- Actualice regularmente las dependencias con
poetry update
pero pruebe exhaustivamente después de las actualizaciones - Utilice
poetry add --group dev
para las dependencias de desarrollo y mantenerlas separadas - Documentar todos los propósitos de las dependencias en pyproject.toml utilizando comentarios
- Ejecuta
poetry check
antes de confirmar para validar pyproject.toml. También puedes considerar ganchos pre-commit. - Usa
poetry export
para generarrequirements.txt
cuando sea necesario para otras herramientas. - Mantén las dependencias de producción mínimas, mueve las características opcionales a extras
- Prueba la instalación de tu paquete en un entorno limpio antes de publicar
- Utiliza TestPyPI antes de publicar en el repositorio principal de PyPI
- Mantén un
CHANGELOG.md
claro para seguir los cambios de versión - Utiliza
poetry run
para la ejecución de scripts y asegurar el uso correcto del entorno
Conclusión y Próximos Pasos
La poesía ha revolucionado la gestión de dependencias de Python al proporcionar una solución robusta e intuitiva a los desafíos comunes de gestión de paquetes. Sus potentes funciones para la resolución de dependencias, gestión de entornos virtuales y publicación de proyectos lo convierten en una herramienta invaluable para el desarrollo moderno de Python.
Para continuar tu viaje de desarrollo en Python, considera explorar estos completos caminos de aprendizaje:
- Track de Programación en Python – Domina los fundamentos y conceptos avanzados de Python
- Python Intermedio — Mejora tus habilidades en Python
- Fundamentos de Datos en Python — Aprende habilidades esenciales de manipulación de datos
- Asociado de Científico de Datos en Python – Sumérgete en la ciencia de datos con Python
Recuerda, la gestión efectiva de dependencias es solo un aspecto del desarrollo profesional en Python. A medida que sigas creciendo como desarrollador, herramientas como Poetry te ayudarán a construir proyectos en Python más mantenibles y confiables.