Skip to content

Poetry

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

Установка с официального сайта

shell
curl -sSL https://install.python-poetry.org | python3 -

Установка с PyPi

shell
python3 -m pip install poetry

Использование poetry

Создание нового проекта:

shell
poetry new NAME

NAME — название проекта.

Пример архитектуры
shell
new_project
├── new_project
│   └── __init__.py
├── pyproject.toml
├── README.md
└── tests
    └── __init__.py

Инициализация существующего проекта:

shell
cd /path/to/project/
poetry init

Указание зависимостей:

shell
poetry add pylint

Сборка пакета:

shell
poetry build

Публикация в PyPI:

shell
poetry publish

Использование виртуального окружения

Создание/Активация окружения:

shell
poetry shell

Смена версии Python внутри проекта:

shell
poetry env use python3.10

Установка всех зависимостей:

shell
poetry install

Обновление зависимостей:

shell
poetry update

Конфигурация Poetry

Вывод всех настроек:

shell
poetry config --list

Смена параметра:

shell
poetry config OPTION VALUE

OPTION — параметр.
VALUE — значение.

ПараметрТипОписание
cache-dirstringПуть к каталогу кэша, используемому Poetry
experimental.system-git-clientbooleanИспользовать серверную часть системного клиента Git
installer.max-workersintМаксимальное количество рабочих при использовании параллельного установщика
installer.modern-installationbooleanБолее современный и быстрый метод установки пакета
installer.no-binarybooleanНе устанавливать бинарные зависимости
installer.parallelbooleanПараллельное выполнение при использовании нового установщика
virtualenvs.createbooleanСоздание venv при его отсутствие
virtualenvs.in-projectbooleanСоздавать venv в каталоге проекта
virtualenvs.options.always-copybooleanСоздавать файлы окружения вместо ссылок
virtualenvs.options.no-pipbooleanНе устанавливать pip
virtualenvs.options.no-setuptoolsbooleanНе устанавливать setuptools
virtualenvs.options.system-site-packagesbooleanИспользовать системные зависимости
virtualenvs.pathstringКаталог для хранения venv
virtualenvs.prefer-active-pythonbooleanИспользовать текущий активированный Python для venv
virtualenvs.promptstringСтрока, которая будет отображаться при активации venv

Авторы

История изменений