パッケージマネージャー
パッケージのインストール・管理を行うツール。
pip
Python標準のパッケージマネージャー。
Poetry
モダンなパッケージマネージャー。
uv
高速なパッケージマネージャー。
パッケージマネージャー
パッケージのインストール・管理を行うツール。
依存関係
パッケージが依存する他のパッケージ。
仮想環境
プロジェクトごとの独立したPython環境。
requirements.txt
依存関係を記述するファイル。
pyproject.toml
プロジェクト設定ファイル。
pip
なぜpipが必要か?
pipは、PyPIからパッケージをインストールするのに適しています。これにより、外部ライブラリを簡単に利用できます。
いつ使うか?
- PyPIからパッケージをインストールする場合
- 標準的なパッケージ管理を行う場合
- シンプルなパッケージ管理を行う場合
- 仮想環境を使用しない場合
実践テクニック
requirements.txtを使う
requirements.txtを使うことで、依存関係を管理できます。これにより、プロジェクトの依存関係を簡潔に記述できます。
パッケージのバージョンを固定する
パッケージのバージョンを固定することで、再現性を向上できます。これにより、開発環境の安定性を保てます。
# pipの基本# パッケージのインストールpip install requests
# パッケージのアップグレードpip install --upgrade requests
# パッケージのアンインストールpip uninstall requests
# パッケージの一覧表示pip listPoetry
なぜPoetryが必要か?
Poetryは、モダンなPython開発をするのに適しています。これにより、開発効率を向上できます。
いつ使うか?
- モダンなパッケージ管理を行う場合
- 依存関係の管理が必要な場合
- 仮想環境の管理が必要な場合
- ビルドシステムが必要な場合
実践テクニック
pyproject.tomlを使う
pyproject.tomlを使うことで、プロジェクト設定を管理できます。これにより、プロジェクトの設定を簡潔に記述できます。
依存関係のグループ化を使う
依存関係のグループ化を使うことで、本番用と開発用の依存関係を分離できます。これにより、開発環境の効率化を図れます。
# Poetryの基本# プロジェクトの初期化poetry init
# 依存関係の追加poetry add requests
# 依存関係の追加(開発用)poetry add --group dev pytest
# 仮想環境の有効化poetry shell
# パッケージのインストールpoetry installuv
なぜuvが必要か?
uvは、高速なパッケージ管理をするのに適しています。これにより、パッケージのインストールを高速化できます。
いつ使うか?
- 高速なパッケージ管理を行う場合
- パッケージのインストールを高速化する場合
- 大規模なプロジェクトを開発する場合
- CI/CDパイプラインを最適化する場合
実践テクニック
キャッシュを使う
キャッシュを使うことで、パッケージのインストールをさらに高速化できます。これにより、開発効率を向上できます。
並列インストールを使う
並列インストールを使うことで、複数のパッケージを同時にインストールできます。これにより、インストール時間を短縮できます。
# 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を使って、高速にパッケージを管理してください。
参考文献
この記事は以下の公的ガイドライン/標準に基づいています。
- pip - Python Packaging Authority - 公式ドキュメント
- Poetry Documentation - 公式ドキュメント
- uv Documentation - 公式ドキュメント