poetry

Установка

pipx install poetry

Usage

Инициализация готового проекта

poetry init

Вызывает интерактивный интерфейс для указания инфы о проекте, после чего создает файл pyproject.toml, с таким, примерно, содержимым:

[tool.poetry]
name = "tmp"
version = "0.1.0"
description = ""
authors = ["test <test@mail.ru>"]
readme = "README.md"
 
[tool.poetry.dependencies]
python = "^3.11"
 
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

poetry.lock

В папке проекта позже появится lock file poetry.lock, который хз что делает)).
В любом случае, его стоит добавить в репозиторий.

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

poetry new tmp
 
tree tmp/
# tmp/
# ├── pyproject.toml
# ├── README.md
# ├── tests
# │   └── __init__.py
# └── tmp
#     └── __init__.py

Добавление/установка модулей

poetry add <pkg1> <pkg2> ...

Эти зависимости прописываются сами в pyproject.toml.

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

poetry install

К слову, для правильной установки проект должен иметь хотя бы такую структуру:

tree parse_html
# parse_html
# ├── parse_html
# │   └── main.py
# ├── poetry.lock
# ├── pyproject.toml
# └── README.md

virtual env

Активация:

poetry shell

Деактивация:

exit

Расположение файлов виртуального окружения

poetry не держит файлы виртуального окружения в директории проекта. Их расположение можно посмотреть так:

poetry env info

Официальный сайт: https://python-poetry.org/
Доки: https://python-poetry.org/docs/

poetrytoolpython