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

Авторы

The avatar of contributor named as Кирилл Уницаев Кирилл Уницаев
The avatar of contributor named as Давид Султаниязов Давид Султаниязов
The avatar of contributor named as Жора Змейкин Жора Змейкин

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