最新のPytonパッケージと依存関係マネージャーが最新のPEP標準をサポートしています。 中文版本说明
PDMは、次世代のPythonパッケージ管理ツールになることを目的としています。もともとは個人的な使用のために建てられました。 Pipenv
やPoetry
でうまくいっていて、別のパッケージマネージャーを紹介したくないと感じたら、それに固執してください。しかし、これらのツールに存在しないものが足りない場合は、おそらくpdm
にある程度の良さを見つけることができます。
主に大規模なバイナリ分布用のシンプルで高速の依存関係リゾルバー。
PEP 517ビルドバックエンド。
PEP 621プロジェクトメタデータ。
柔軟で強力なプラグインシステム。
汎用性の高いユーザースクリプト。
IndygregのPython-Build-Standaloneを使用してPythonsをインストールします。
PNPMのようなオプトイン集中インストールキャッシュ。
Pipenvは、名前が示すように、 pip
とvenv
を組み合わせた依存関係マネージャーです。標準以外のPipfile.lock
またはPipfile
からパッケージをインストールできます。ただし、Pipenvはコードのパッケージに関連するパッケージを処理しないため、インストール不可能なアプリケーション(たとえば、Djangoサイト)の開発にのみ役立ちます。あなたが図書館開発者の場合、とにかくsetuptools
必要です。
詩はPipenvと同様の方法で環境と依存関係を管理しますが、コードを使用して.whlファイルを構築することもでき、ホイールとソース分布をPYPIにアップロードできます。かなりのユーザーインターフェイスがあり、ユーザーはプラグインを介してカスタマイズできます。詩はpyproject.toml
標準を使用しますが、カスタム[tool.poetry]
テーブルを使用して、metadataをpyproject.tomlファイル(PEP 621)で表現する方法を指定する標準には従いません。これは、PEP 621の前に詩が出てきたためです。
ハッチは環境を管理し、プロジェクトごとに複数の環境を許可することもできます。デフォルトでは、すべての環境の中心的な場所がありますが、プロジェクトの環境をプロジェクトルートディレクトリに配置するように構成できます。ロックファイルサポートはありませんが、パッケージを管理できます。また、プロジェクトをパッケージ化し(PEP 621 Compliant Pyproject.TOMLファイル)、Pypiにアップロードするためにも使用できます。
PDMは、Pipenvと同様に、プロジェクトと集中型の両方の場所で仮想環境(VENV)を管理できます。標準化されたpyproject.toml
ファイルからプロジェクトメタデータを読み取り、ロックファイルをサポートします。ユーザーはプラグインを介して追加の機能を追加できます。これは、分布としてアップロードすることで共有できます。
詩やハッチとは異なり、PDMは特定のビルドバックエンドに限定されません。ユーザーは、好みのビルドバックエンドを選択する自由があります。
PDMにはPythonバージョン3.8以降が必要です。
PIPと同様に、PDMは、孤立した環境にPDMをインストールするインストールスクリプトを提供します。
Linux/Mac用
curl -ssl https://pdm-project.org/install-pdm.py | Python3-
Windows用
PowerShell -ExecutionPolicy Bypass -C "IRM https://pdm-project.org/install-pdm.py | py-"
セキュリティ上の理由から、 install-pdm.py
のチェックサムを確認する必要があります。 install-pdm.py.sha256からダウンロードできます。
インストーラーはPDMをユーザーサイトにインストールし、場所はシステムによって異なります。
$HOME/.local/bin
for linux
$HOME/Library/Python/<version>/bin
for macos
Windows上の%APPDATA%PythonScripts
追加のオプションをスクリプトに渡して、PDMのインストール方法を制御できます。
usage: install-pdm.py [-h] [-v VERSION] [--prerelease] [--remove] [-p PATH] [-d DEP] optional arguments: -h, --help show this help message and exit -v VERSION, --version VERSION | envvar: PDM_VERSION Specify the version to be installed, or HEAD to install from the main branch --prerelease | envvar: PDM_PRERELEASE Allow prereleases to be installed --remove | envvar: PDM_REMOVE Remove the PDM installation -p PATH, --path PATH | envvar: PDM_HOME Specify the location to install PDM -d DEP, --dep DEP | envvar: PDM_DEPS Specify additional dependencies, can be given multiple times
スクリプトの後にオプションを渡すか、env var値を設定できます。
MacOSを使用してhomebrew
使用している場合は、以下をインストールしてください。
brewインストールpdm
WindowsにいてScoopを使用している場合は、以下をインストールしてください。
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
それ以外の場合は、 pipx
を使用して孤立した環境にpdm
インストールすることをお勧めします。
PIPXインストールPDM
または、ユーザーサイトの下にインストールできます。
PIPインストール-USER PDM
ASDF-VMで
ASDFプラグインはPDMを追加します ASDFインストールPDM最新
新しいPDMプロジェクトを初期化します
PDM init
ガイドに続いて質問に答え、 pyproject.toml
ファイルを使用したPDMプロジェクトを使用する準備が整います。
依存関係をインストールします
PDMはリクエストフラスコを追加します
同じコマンドに複数の依存関係を追加できます。しばらくして、 pdm.lock
ファイルをチェックして、各パッケージにロックされているものを確認します。
readme.mdにマークダウンコードを含めることにより、プロジェクトでPDMを使用していることを人々に伝えます。
[[ https://pdm-project.org)
Awesome PDMは、素晴らしいPDMプラグインとリソースのキュレーションされたリストです。
このプロジェクトは、Pyflowと詩に強く触発されています。
このプロジェクトはMITライセンスに基づいて開かれています。詳細については、ライセンスファイルを参照してください。