Назад к вопросам
Middle
155
questionbank

Что такое Poetry и какие преимущества он предоставляет в управлении зависимостями в проектах на Python?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Poetry — это инструмент для управления зависимостями и сборки пакетов в проектах на Python.

Преимущества Poetry:

  • Детерминированное управление зависимостями: Poetry использует файл poetry.lock, который фиксирует точные версии всех установленных зависимостей, обеспечивая воспроизводимость рабочего окружения.
  • Изоляция зависимостей: Каждый проект имеет свое виртуальное окружение, изолируя зависимости от других проектов и системы.
  • Упрощенное управление зависимостями: Команды для добавления, удаления и обновления зависимостей интуитивно понятны и просты.
  • Встроенный менеджер виртуальных окружений: Poetry сам создает и управляет виртуальными окружениями, избавляя от необходимости использовать venv или virtualenv отдельно.
  • Управление публикацией пакетов: Poetry упрощает процесс сборки и публикации пакетов на PyPI.
  • Файл pyproject.toml: Все настройки проекта (зависимости, метаданные и т.д.) хранятся в едином файле pyproject.toml, который соответствует стандарту PEP 518.

Пример добавления зависимости:

poetry add requests

Пример удаления зависимости:

poetry remove requests

Пример установки зависимостей из lock-файла:

poetry install

Пример структуры pyproject.toml:

[tool.poetry]
name = "my-package"
version = "0.1.0"
description = ""
authors = ["My Name <me@example.com>"]
readme = "README.md"
packages = [{include = "my_package"}]

[tool.poetry.dependencies]
python = "^3.9"
requests = "^2.28.1"

[tool.poetry.group.dev.dependencies]
pytest = "^7.1.2"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"