Poetry

Poetry — это инструмент для управления зависимостями и сборки проектов на Python. Он обеспечивает удобный способ создания и поддержки проектов, позволяя разработчикам легко управлять библиотеками и их версиями. Основные особенности Poetry включают:

  1. Управление зависимостями: Poetry упрощает установку и обновление зависимостей проекта с автоматическим разрешением конфликтов версий.

  2. Файл конфигурации: Использует файл pyproject.toml для хранения метаданных проекта (например, название, версия, автор) и зависимостей, что упрощает процесс настройки.

  3. Изолированные окружения: Poetry автоматически создает виртуальные окружения для каждого проекта, обеспечивая тем самым изоляцию зависимостей.

  4. Сборка и публикация: Упрощает процесс сборки пакетов и их публикации в PyPI (Python Package Index).

  5. Полный контроль версии: Позволяет управлять версиями зависимостей с помощью простой и понятной семантики.

Poetry делает процесс управления проектами на Python более организованным и удобным, особенно для больших проектов или проектов с множеством зависимостей.


  1. Установить Poetry

    pip install --user poetry
    
  2. Создать новый проект

    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"
    
  3. Пакеты

    Чтобы добавить зависимости в свой проект, вы можете указать их в разделе tool.poetry.dependencies:

    [tool.poetry.dependencies]
    pendulum = "^1.4"
    

    Кроме того, вместо того, чтобы вручную изменять файл pyproject.toml, вы можете использовать команду add, и она автоматически найдет подходящее ограничение версии.

    $ poetry add pendulum
    

    Чтобы установить зависимости, перечисленные в pyproject.toml:

    poetry install
    

    Чтобы удалить зависимости:

    poetry remove pendulum
    

Для получения дополнительной информации смотрите документацию или прочитайте здесь:

Python проеты с Poetry и VSCode