poetry は Python のパッケージ管理ツールです。pip コマンドでとりあえずパッケージをダウンロードしたけれども何が入っているか覚えきれない。あるパッケージをダウンロードして使おうとしたら依存する他のパッケージも必要と Python に怒られた。などといった事態を防げます。
Poetry – Python dependency management and packaging made easy.
python-poetry/poetry: Python dependency management and packaging made easy.
インストール方法は pip 経由で行えます。
pip install poetry
poetry の作るパッケージ管理ファイルはユーザが定義する pyproject.toml と依存関係や現在の厳密なバージョンなどを管理する poetry.lock に分かれます。npm, yarn, compose などの他言語パッケージ管理ツールと同じようなものです。次は pyproject.toml の例です
[tool.poetry] name = "tool_box" version = "0.1.0" description = "" authors = ["cpt-sugiura"] [tool.poetry.dependencies] python = "^3.8" selenium = "^3.141.0" slackweb = "^1.0.5" requests = "^2.24.0" schedule = "^0.6.0" [tool.poetry.dev-dependencies] [build-system] requires = ["poetry>=0.12"] build-backend = "poetry.masonry.api"
コマンドは JavaScript のパッケージ管理ツール yarn に少し似ています。よく使うコマンドは次です。
poetry init # プロジェクトの初期化 poetry install # poretry.lock がないならば pyproject.toml にある各パッケージの最新版をインストール. # poretry.lock があるならば poretry.lock にある各パッケージの固定バージョンをインストール. poetry add [パッケージ名] # パッケージとそれに依存するパッケージの追加 poetry remove [パッケージ名] # パッケージとそれに依存するパッケージを削除 poetry update # pyproject.toml にある各パッケージの最新版をインストール.
poetry は JavaScript のパッケージ管理ツールに慣れた人からするとコマンドを覚える必要も少なく、何か欲しいと思った機能は大体揃っています。最近自分がよく扱う JavaScript 界隈のライブラリ事情が極端なのもありますがパッケージの増減処理も高速で快適です。