Когда речь заходит о работе с зависимостями и виртуальными средами в Python, многие разработчики используют такие инструменты, как pip и virtualenv. Однако, существует более современное и удобное решение — Poetry.

Установка Poetry.
Для начала работы с Poetry его нужно установить. Это можно сделать с помощью следующей команды:
curl -sSL https://install.python-poetry.org | python3 -
После установки добавьте Poetry в путь, чтобы он был доступен из командной строки.
Это можно сделать, следуя инструкциям, которые появятся после завершения установки.Инициализация нового проекта.
Poetry предлагает удобный способ инициализации проекта. Чтобы создать новый проект с минимальной конфигурацией, достаточно выполнить следующую команду:
poetry new my_project
Эта команда создаст структуру директорий и файл pyproject.toml, который является центральным файлом для управления зависимостями и конфигурацией проекта.
Управление зависимостями.
Одно из главных преимуществ Poetry — автоматическое управление зависимостями. Чтобы добавить новую библиотеку, например requests, достаточно выполнить команду:
poetry add requests
Poetry автоматически установит зависимость и обновит файл pyproject.toml. В отличие от requirements.txt, где все зависимости записываются в один файл, Poetry разделяет зависимости на основные и для разработки. Например, для добавления зависимости только для разработки (например, тестовой библиотеки), используется:
poetry add pytest --dev
Чтобы удалить зависимость, нужно просто выполнить:
poetry remove requests
Виртуальные среды.
Poetry по умолчанию создает виртуальные среды для каждого проекта. Для активации виртуальной среды в командной строке можно использовать:
poetry shell
Теперь вы работаете в изолированной среде, и все зависимости устанавливаются исключительно для данного проекта.
Базовые команды для работы с Poetry.
Poetry предоставляет простой интерфейс для выполнения часто используемых операций:
- Установка зависимостей: если вы получили проект и хотите установить все зависимости, достаточно выполнить:
poetry install
- Обновление зависимостей: чтобы обновить все зависимости до последних версий, выполните:
poetry update
- Сборка пакета: если вы хотите упаковать проект для распространения, используйте:
poetry build