🐍 Poetry (Python) в 2025: что нового, как ставить, за что его любят и за что ругают
Если ты пишешь на 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:
и при этом доверять uv/pipx на уровне упаковки.
🔥 5. Новый режим «zero pollution mode»
Проще говоря — Poetry больше не гадит в глобальные окружения. Виртуальные среды создаются всегда локально, независимо от настроек Python на системе.
Никто больше не внезапно сломает твой system-wide numpy.
🛠 Как установить Poetry в 2025
Проще, чем было когда-либо:
или через pipx:
Проверяем:
Poetry сам поставит себе:
- виртуальное окружение,
- зависимости,
- shim для вызова через терминал.
Если ставишь на Linux — после установки желательно добавить:
📦 Создание проекта — красиво и без боли
Создать новый проект:
Перейти внутрь:
Активировать окружение:
Установить зависимости:
Poetry сам:
- создаст виртуальное окружение,
- сделает lock-файл,
- обновит зависимости.
Сравни с pip — это почти как перейти от кнопочного телефона к смартфону.
🧩 Фишки Poetry, которые действительно помогают жить
✨ 1. Lock-файл, который реально работает
poetry.lock — это твоя гарантия, что проект запустится у другого человека так же, как у тебя.
Особенно важно для команд разработки и CI/CD.
✨ 2. poetry export — лучший друг Docker
Нужно сделать requirements.txt для Dockerfile?
FastAPI + Poetry + Docker = 🔥
✨ 3. Публикация пакетов → два клика
Твой пакет можно отправить на PyPI так:
Да, всё. Никаких setup.py, twine, «танцев с мандарином».
✨ 4. Спойлер: в 2025 Poentry выходит на уровень workspace-менеджера
Новая фича — Poetry Workspaces (аналог yarn workspaces):
- монорепы,
- микросервисы,
- проект на 10 внутренних библиотек.
Теперь всё можно связать в один workspace:
Это серьёзно экономит время 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/
🔗 GitHub → https://github.com/python-poetry/poetry
🔗 Issue tracker → https://github.com/python-poetry/poetry/issues
🔗 PEP 621 → https://peps.python.org/pep-0621/
🔗 PEP 723 → https://peps.python.org/pep-0723/
🙌 Если статья была полезной
Буду рад лайку 💙 и комментарию — они помогают продвигать материалы и подсказывают, про какие инструменты Python стоит написать дальше.
А ты уже сидишь на Poetry или всё ещё держишься на старой доброй requirements.txt? 😄