Poetry - это инструмент для управления зависимостями и виртуальными окружениями. Его преимущество, что можно разделить зависимости, используемые только для разработки (например, применение стилей, тесты), от зависимостей, которые необходимы проекту для работы на продакшене.
Инструкции по установке расположены на официальном сайте.
Команды для установки:
Для UNIX-систем и Bash on Windows вводим в консоль следующую команду:
curl -sSL https://install.python-poetry.org | python -
Для WINDOWS PowerShell:
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
После установки, если установщик попросит, добавить путь к poetry в
переменную среды PATH
, перезапустить оболочку и выполнить команду
poetry --version
Если установка прошла успешно, будет выведена версия poetry (может отличаться)
Poetry (version 1.6.1)
Что бы виртуальное окружение устанавливалось в папку проекта выполнить команду:
poetry config virtualenvs.in-project true
В корневой папке проекта виртуальное окружение создается с помощью команды:
poetry install
Результатом выполнения команды станет создание в корне проекта папки .venv
.
Зависимости для создания окружения берутся из файлов poetry.lock (приоритетнее)
и pyproject.toml
Добавление зависимостей
Для добавления новой зависимости в окружение необходимо выполнить командуpoetry add <package_name>
Пример: poetry add flake8
Для добавления зависимости необходимой для разработки и тестирования необходимо добавить флаг --group dev
poetry add <package_name> --group dev
Пример: poetry add pytest --group dev
В проекте используется питон версии 3.11. Если при установке виртуального окружения poetry ругается, что не может определить локальную версию:
- Проверьте, что на компьютере установлена версия Python 3.11
- Явно указать poetry какую версию питона использовать для создания ВО
poetry env use <полный путь к исполняемому файлу python версии 3.11>
Запуск скриптов с использованием poetry возможен как с активацией виртуального окружения, так и без него.
Запуск осуществляется командой
poetry run <имя скрипта>.py
Активировать окружение можно командой
poetry shell
В этом случае скрипты можно запускать традиционным способом
python <имя скрипта>.py
Стандартный метод активацией окружения остается доступен:
Для WINDOWS:
source .venv/Scripts/activate
Для UNIX:
source .venv/bin/activate
Подробнее про команды poetry рассказано в документации