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/