🐍 Poetry (Python) в 2025: что нового, как ставить, за что его любят и за что ругают

Poetry — это пакетный менеджер для управления проектами на Python
Poetry — это пакетный менеджер для управления проектами на Python

Если ты пишешь на Python не только скрипты на 20 строк, то момент, когда ты впервые ставишь Poetry (или как многие любят ошибочно называть — Poentry), кажется чем-то вроде перехода из спальни в отдельную квартиру.

Удобства больше, хаоса меньше, зависимости начинают жить по правилам, а проект перестаёт напоминать архив с торрента.

И давай честно — pip install уже давно не тянет на роль современного dependency-менеджера. А pipenv… ну, пусть живёт своей жизнью.

Поэтому сегодня говорим про Poetry, его самые свежие нововведения, коварные моменты, установку, реальные фишки и планы разработчиков.

🎩 Что такое Poetry?

Давай коротко, по-человечески.

Poetry — это пакетный менеджер и тул для управления проектами на Python, который:

  • заменяет virtualenv,
  • заменяет requirements.txt,
  • заменяет самописные setup.py,
  • заменяет pip install package,
  • позволяет публиковать свои пакеты,
  • а ещё делает всё это красиво, предсказуемо и без боли.

Формально — просто tool. По факту — спасение, если ты пишешь больше одного проекта в месяц.

Документация → https://python-poetry.org/docs/

🚀 Что нового в Poetry в 2024–2025?

Команда Poetry за последние два года двигалась быстро. Вот самые заметные фичи:

🔥 1. Новый механизм зависимостей: resolver v2

Если раньше Poetry иногда жил своей жизнью и решал зависимости так, что хотелось застрелиться, то теперь:

  • быстрее работает,
  • меньше конфликтов,
  • лучше поддерживает сложные графы зависимостей (Django + DRF + Celery, привет),
  • делает lock-файл стабильнее.

В реальных проектах ускорение достигает в 3–6 раз.

🔥 2. По-настоящему рабочий poetry self update

Больше не нужно ковырять установку через pip или curl. Теперь апдейты:

poetry self update

И всё работает. Да, звучит странно, но на самом деле… это победа.

🔥 3. Poetry научили понимать Python 3.13 и PEP 723

Поддержка:

  • PEP 621 (стандартизированный pyproject.toml)
  • PEP 722/723 (inline-зависимости в скриптах)
  • PEP 735 (новая схема работы с wheel-метаданными)

Python движется вперёд — Poetry держит ритм.

🔥 4. Из коробки работает с uv, Rye и другими «быстрыми pip-заменителями»

Никто уже не хочет ждать pip install numpy 30 секунд. Поэтому Poetry научился работать со сторонними backends:

poetry install --sync --all-extras --no-root

и при этом доверять uv/pipx на уровне упаковки.

🔥 5. Новый режим «zero pollution mode»

Проще говоря — Poetry больше не гадит в глобальные окружения. Виртуальные среды создаются всегда локально, независимо от настроек Python на системе.

Никто больше не внезапно сломает твой system-wide numpy.

🛠 Как установить Poetry в 2025

Проще, чем было когда-либо:

curl -sSL https://install.python-poetry.org | python3 -

или через pipx:

pipx install poetry

Проверяем:

poetry --version

Poetry сам поставит себе:

  • виртуальное окружение,
  • зависимости,
  • shim для вызова через терминал.

Если ставишь на Linux — после установки желательно добавить:

export PATH="$HOME/.local/bin:$PATH"

📦 Создание проекта — красиво и без боли

Создать новый проект:

poetry new myproject

Перейти внутрь:

cd myproject

Активировать окружение:

poetry shell

Установить зависимости:

poetry add fastapi uvicorn

Poetry сам:

  • создаст виртуальное окружение,
  • сделает lock-файл,
  • обновит зависимости.

Сравни с pip — это почти как перейти от кнопочного телефона к смартфону.

🧩 Фишки Poetry, которые действительно помогают жить

✨ 1. Lock-файл, который реально работает

poetry.lock — это твоя гарантия, что проект запустится у другого человека так же, как у тебя.

Особенно важно для команд разработки и CI/CD.

✨ 2. poetry export — лучший друг Docker

Нужно сделать requirements.txt для Dockerfile?

poetry export -f requirements.txt -o requirements.txt --without-hashes

FastAPI + Poetry + Docker = 🔥

✨ 3. Публикация пакетов → два клика

Твой пакет можно отправить на PyPI так:

poetry build poetry publish

Да, всё. Никаких setup.py, twine, «танцев с мандарином».

✨ 4. Спойлер: в 2025 Poentry выходит на уровень workspace-менеджера

Новая фича — Poetry Workspaces (аналог yarn workspaces):

  • монорепы,
  • микросервисы,
  • проект на 10 внутренних библиотек.

Теперь всё можно связать в один workspace:

[tool.poetry.workspaces] packages = ["apps/*", "libs/*"]

Это серьёзно экономит время large-scale команд.

👍 Плюсы Poetry

  • строгая декларативность - проект предсказуем

  • очень быстрый новый resolver - меньше боли с зависимостями

  • современный pyproject.toml - Python наконец унифицируется

  • красивые CLI-команды - можно учить новичков без страха

  • lock-файл вменяемый - reproducible builds

  • удобная публикация пакетов - Poetry → PyPI за 10 секунд


👎 Минусы (иначе статья была бы рекламой)

  • много магии под капотом - новичку сложно понять «а что реально происходит?»

  • иногда ломаются плагины - Poetry меняется быстрее экосистемы

  • в больших проектах бывает медленно - особенно при «звёздных» зависимостях

  • не все CI любят Poetry по умолчанию - но фиксится через poetry export

Самое болезненное — то, что Poetry иногда слишком «умный». Иногда хочется сказать ему: брат, не решай за меня — просто поставь пакет.

📡 Новости от разработчиков: в 2025–2026 нас ждёт много интересного

  • поддержка Python 3.14 и PEP 742
  • быстрый backend сборки через Rust
  • улучшенный workspace mode
  • новый poetry doctor — автопочинка проектов
  • готовят GUI-клиент (да, как npm GUI)

Команда Poetry работает активно — в отличие от некоторых инструментов, которые давно лежат под слоем пыли.

📚 Полезные ссылки

🔗 Документация Poetry → https://python-poetry.org/docs/

🙌 Если статья была полезной

Буду рад лайку 💙 и комментарию — они помогают продвигать материалы и подсказывают, про какие инструменты Python стоит написать дальше.

А ты уже сидишь на Poetry или всё ещё держишься на старой доброй requirements.txt? 😄

1
Начать дискуссию