
紹介#
PDM は、最新の PEP 標準をサポートするモダンな Python パッケージおよび依存関係マネージャーとして説明されています。しかし、それは単なるパッケージマネージャーではありません。さまざまな側面で開発ワークフローを強化します。
特徴のハイライト#
- 大規模なバイナリ配布物向けのシンプルで高速な依存関係解決ツール。
- PEP 517 ビルドバックエンド。
- PEP 621 プロジェクトメタデータ。
- 柔軟で強力なプラグインシステム。
- 多用途なユーザースクリプト。
- indygreg's python-build-standalone を使用して Python をインストールします。
- pnpm のようなオプトインの集中インストールキャッシュ。
インストール#
PDM をインストールするには Python 3.8 以上が必要です。Windows、Linux、macOS を含む複数のプラットフォームで動作します。
Note
プロジェクトをより低い Python バージョンで動作させることもできます。方法についてはこちらを参照してください。
推奨インストール方法#
PDM をインストールするには Python バージョン 3.8 以上が必要です。
Pip と同様に、PDM は PDM を分離された環境にインストールするインストールスクリプトを提供します。
1 |
|
1 |
|
Note
Windows では、オプションの py
ランチャーがインストールされていない場合(Microsoft ストアから Python をインストールした場合を含む)、py
を python
に置き換えてください。
セキュリティ上の理由から、install-pdm.py
のチェックサムを確認する必要があります。
install-pdm.py.sha256 からダウンロードできます。
たとえば、Linux/Mac では次のようにします。
1 2 3 4 |
|
インストーラーは PDM をユーザーサイトにインストールし、場所はシステムによって異なります。
- Unix の場合は
$HOME/.local/bin
- MacOS の場合は
$HOME/Library/Python/<version>/bin
- Windows の場合は
%APPDATA%\Python\Scripts
スクリプトに追加のオプションを渡して、PDM のインストール方法を制御できます。
1 2 3 4 5 6 7 8 9 10 |
|
オプションをスクリプトの後に渡すか、環境変数の値を設定できます。
その他のインストール方法#
1 |
|
1 2 |
|
1 |
|
1 |
|
GitHub リポジトリのヘッドバージョンをインストールします。 システムに Git LFS がインストールされていることを確認してください。
1 |
|
PDM をすべての機能でインストールするには次のようにします。
1 |
|
詳細については、https://pypa.github.io/pipx/ を参照してください。
1 |
|
asdf がインストールされていることを前提としています。
1 2 3 |
|
Pyprojectx ラッパースクリプトをプロジェクトにコピーすることで、PDM を (npm スタイルの) 開発依存関係としてプロジェクト内にインストールできます。これにより、異なるプロジェクト/ブランチが異なる PDM バージョンを使用できるようになります。
新しいプロジェクトまたは既存のプロジェクトを初期化する には、プロジェクトフォルダーに移動して次のようにします。
1 2 |
|
1 2 |
|
この方法で pdm をインストールする場合、すべての pdm
コマンドを pw
ラッパーを通じて実行する必要があります。
1 |
|
PDM バージョンの更新#
1 |
|
アンインストール#
システムから PDM を削除する必要がある場合は、次のスクリプトを使用できます。
1 |
|
1 |
|
Homebrew などのサードパーティのパッケージ管理ツールを使用して PDM をインストールした場合は、ツールのアンインストール方法を使用して PDM をアンインストールすることもできます。たとえば、brew uninstall pdm
などです。
パッケージングステータス#
シェル補完#
PDM は Bash、Zsh、Fish、または Powershell 用の補完スクリプトの生成をサポートしています。各シェルの一般的な場所は次のとおりです。
1 2 |
|
1 2 |
|
Oh-My-Zsh:
1 2 |
|
次に、~/.zshrc で pdm プラグインが有効になっていることを確認します。
1 |
|
1 2 3 4 5 6 7 8 9 10 |
|
Virtualenv と PEP 582#
PDM は、仮想環境管理に加えて、オプトイン機能として PEP 582 の実験的サポートを提供しています。Python ステアリング カウンシルは PEP 582 を拒否しました が、PDM を使用してテストすることはできます。
2 つのモードの詳細については、仮想環境の使用 および PEP 582 の使用 に関する関連章を参照してください。
PDM エコシステム#
Awesome PDM は、素晴らしい PDM プラグインとリソースのキュレーションされたリストです。