Poetry
Poetry — это инструмент для управления зависимостями и сборки проектов на Python. Он обеспечивает удобный способ создания и поддержки проектов, позволяя разработчикам легко управлять библиотеками и их версиями. Основные особенности Poetry включают:
-
Управление зависимостями: Poetry упрощает установку и обновление зависимостей проекта с автоматическим разрешением конфликтов версий.
-
Файл конфигурации: Использует файл
pyproject.toml
для хранения метаданных проекта (например, название, версия, автор) и зависимостей, что упрощает процесс настройки. -
Изолированные окружения: Poetry автоматически создает виртуальные окружения для каждого проекта, обеспечивая тем самым изоляцию зависимостей.
-
Сборка и публикация: Упрощает процесс сборки пакетов и их публикации в PyPI (Python Package Index).
-
Полный контроль версии: Позволяет управлять версиями зависимостей с помощью простой и понятной семантики.
Poetry делает процесс управления проектами на Python более организованным и удобным, особенно для больших проектов или проектов с множеством зависимостей.
-
Установить Poetry
pip install --user poetry
-
Создать новый проект
poetry new my-project
Это создаст каталог my-project:
my-project ├── pyproject.toml ├── README.rst ├── poetry_demo │ └── __init__.py └── tests ├── __init__.py └── test_poetry_demo.py
Файл pyproject.toml будет управлять вашим проектом и его зависимостями:
[tool.poetry] name = "my-project" version = "0.1.0" description = "" authors = ["your name <your@mail.com>"] [tool.poetry.dependencies] python = "*" [tool.poetry.dev-dependencies] pytest = "^3.4"
-
Пакеты
Чтобы добавить зависимости в свой проект, вы можете указать их в разделе tool.poetry.dependencies:
[tool.poetry.dependencies] pendulum = "^1.4"
Кроме того, вместо того, чтобы вручную изменять файл pyproject.toml, вы можете использовать команду
add
, и она автоматически найдет подходящее ограничение версии.$ poetry add pendulum
Чтобы установить зависимости, перечисленные в pyproject.toml:
poetry install
Чтобы удалить зависимости:
poetry remove pendulum
Для получения дополнительной информации смотрите документацию или прочитайте здесь: