パッケージマネージャー

パッケージのインストール・管理を行うツール。

pip
Python標準のパッケージマネージャー。
Poetry
モダンなパッケージマネージャー。
uv
高速なパッケージマネージャー。
パッケージマネージャー
パッケージのインストール・管理を行うツール。
依存関係
パッケージが依存する他のパッケージ。
仮想環境
プロジェクトごとの独立したPython環境。
requirements.txt
依存関係を記述するファイル。
pyproject.toml
プロジェクト設定ファイル。

pip

Python標準のパッケージマネージャー

pipは「Python標準のパッケージマネージャー」のようなもの。Pythonに標準で付属しているパッケージマネージャーです。これにより、PyPIからパッケージをインストールできます。

なぜpipが必要か?

pipは、PyPIからパッケージをインストールするのに適しています。これにより、外部ライブラリを簡単に利用できます。

いつ使うか?

  • PyPIからパッケージをインストールする場合
  • 標準的なパッケージ管理を行う場合
  • シンプルなパッケージ管理を行う場合
  • 仮想環境を使用しない場合

実践テクニック

requirements.txtを使う

requirements.txtを使うことで、依存関係を管理できます。これにより、プロジェクトの依存関係を簡潔に記述できます。

パッケージのバージョンを固定する

パッケージのバージョンを固定することで、再現性を向上できます。これにより、開発環境の安定性を保てます。

pip
# pipの基本
# パッケージのインストール
pip install requests
# パッケージのアップグレード
pip install --upgrade requests
# パッケージのアンインストール
pip uninstall requests
# パッケージの一覧表示
pip list

Poetry

モダンなパッケージマネージャー

Poetryは「モダンなパッケージマネージャー」のようなもの。依存関係の管理、仮想環境、ビルドシステムなどを提供します。これにより、モダンなPython開発が可能になります。

なぜPoetryが必要か?

Poetryは、モダンなPython開発をするのに適しています。これにより、開発効率を向上できます。

いつ使うか?

  • モダンなパッケージ管理を行う場合
  • 依存関係の管理が必要な場合
  • 仮想環境の管理が必要な場合
  • ビルドシステムが必要な場合

実践テクニック

pyproject.tomlを使う

pyproject.tomlを使うことで、プロジェクト設定を管理できます。これにより、プロジェクトの設定を簡潔に記述できます。

依存関係のグループ化を使う

依存関係のグループ化を使うことで、本番用と開発用の依存関係を分離できます。これにより、開発環境の効率化を図れます。

Poetry
# Poetryの基本
# プロジェクトの初期化
poetry init
# 依存関係の追加
poetry add requests
# 依存関係の追加(開発用)
poetry add --group dev pytest
# 仮想環境の有効化
poetry shell
# パッケージのインストール
poetry install

uv

高速なパッケージマネージャー

uvは「高速なパッケージマネージャー」のようなもの。Rustで実装されており、非常に高速です。これにより、パッケージのインストールを高速化できます。

なぜuvが必要か?

uvは、高速なパッケージ管理をするのに適しています。これにより、パッケージのインストールを高速化できます。

いつ使うか?

  • 高速なパッケージ管理を行う場合
  • パッケージのインストールを高速化する場合
  • 大規模なプロジェクトを開発する場合
  • CI/CDパイプラインを最適化する場合

実践テクニック

キャッシュを使う

キャッシュを使うことで、パッケージのインストールをさらに高速化できます。これにより、開発効率を向上できます。

並列インストールを使う

並列インストールを使うことで、複数のパッケージを同時にインストールできます。これにより、インストール時間を短縮できます。

uv
# uvの基本
# プロジェクトの初期化
uv init
# 依存関係の追加
uv add requests
# 依存関係の追加(開発用)
uv add --dev pytest
# 仮想環境の有効化
uv venv
# パッケージのインストール
uv sync

合格ライン

pipを使える
Poetryを使える
uvを使える
パッケージマネージャーの使い分けができる

演習課題

課題1: pipの使用
pipを使って、パッケージをインストールしてください。
課題2: Poetryの使用
Poetryを使って、パッケージを管理してください。
課題3: uvの使用
uvを使って、高速にパッケージを管理してください。

参考文献

この記事は以下の公的ガイドライン/標準に基づいています。