PDM vs Poetry(CI): どちらのPythonパッケージマネージャーか?
どちらもlockfileを備えたモダンなpyproject.tomlパッケージマネージャーです。PDMはPEP標準と柔軟なインストールレイアウトを最も強く志向し、Poetryは洗練されたオールインワンのフローを志向します。
PDMは高速で標準志向のPythonパッケージマネージャーで、virtualenvと__pypackages__の両方のレイアウトをサポートし、pdm.lock lockfileを備えます。Poetryは、poetry.lock、virtualenv、パッケージングを中心に構築された人気のオールインワンマネージャーです。
| PDM | Poetry | |
|---|---|---|
| Lockfile | pdm.lock | poetry.lock |
| インストールレイアウト | Virtualenvまたは__pypackages__ | Virtualenv |
| 標準への注力 | 高い(PEP駆動) | 良好、一部は独自スキーマ |
| リゾルバ | 高速 | 信頼性が高い |
| 成熟度 / 人気 | 成長中 | 大規模、定評あり |
CIでは
どちらもlockfileから決定的なインストールを提供し、それがCIに必要なものです。PDMは高速で標準優先であり、別個のvirtualenv手順を省ける柔軟なレイアウトを持ちます。Poetryはより広く採用されており、最も充実したドキュメントとチュートリアルがあります。一般的なリポジトリでは性能は近く、選択はしばしば標準への好みと既存のチームの習熟度に帰着します。
キャッシュする
pdm.lockまたはpoetry.lockをキーにした依存関係のcacheをキャッシュし、再現性のためにlockからインストールしてください。インストールはCIのrunner上で実行されます。より高速なマネージドrunnerは、コールドインストールがジョブを占めるときに最も役立ちます。
結論
高速で標準優先のマネージャーと柔軟なインストールレイアウトが欲しいなら: PDM。定評があり十分に文書化されたオールインワンが欲しいなら: Poetry。どちらも依存関係をロックします - lockfileをコミットし、そこからインストールしてください。
関連ガイド
pip vs Poetry: Which Python Dependency Tool for CI?pip vs Poetry for Python CI: lockfiles, reproducibility, install speed, and caching. Which dependency tool gi…
pip-tools vs Poetry: Which Python Dependency Workflow for CI?pip-tools vs Poetry for CI: lockfiles, resolver, packaging, and reproducibility. Which Python dependency work…
Rye vs Poetry: Which Python Project Manager for CI?Rye vs Poetry for CI: Python version management, uv-powered installs, lockfiles, and packaging. Which Python…