Poetry. Управление зависимостями для проектов на Python
Когда мы создаем новый проект на Python , то мы вначале создаем виртуальное окружение. И когда нам нужны внешние проекты , такие как Django, request и другие библиотеки , то устанавливаем их с помощью pip. В итоге мы формируем файл c зависимостями requirements.txt
Но в последних проектах я для управления зависимостями начал использовать Poetry . Признаться, я довольно долго остерегался данного продукта и не понимал для чего нужен еще один инструмент для управления зависимостями. Использовать pip было привычно
Но углубившись поглубже , я понял почему предпочтительно использовать Poetry и какие преимущества он предоставляет
В этой статье я хотел бы показать вам как использовать Poetry , как управлять зависимостями , какие преимущества он предоставляет
Установка Poetry
Рекомендуемый способ установки Poetry - использование официального скрипта install-poetry.
Для Linux и MacOS
curl https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python3 -
Для Windows
Перейдите по этой ссылке
Чтобы проверить установлен ли у вас Poetry и какой версии , вы должны запустить команду:
poetry --version
Эта команда отобразит вам текущую версию Poetry
Давайте создадим новый проект используя Poetry. Запустим следующую команду:
poetry new blogproject
Мы создали проект blogproject. Создается вот такая структура:
Как мы видим выше , у нас создался пакет blogproject внутри проекта blogproject. Также у нас создалась папка с тестами tests, где внутри в файле test_blogproject.py создался первый тест , который проверяет содержит ли переменная __version__ ожидаемую версию. Также есть файл README и самый важный файл pyproject.toml. Давайте разберем этот файл
Файл pyproject.toml
[tool.poetry]
name = "blogproject"
version = "0.1.0"
description = ""
authors = ["Фамилия Имя Автора "]
[tool.poetry.dependencies]
python = "^3.9"
[tool.poetry.dev-dependencies]
pytest = "^5.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"