pip は Python の公式パッケージインストーラで、PyPI や私設インデックス、ローカルファイル/リポジトリからパッケージを導入・更新・削除できます。python -m pip の形式で実行すると、使いたい Python 実行環境を明示でき、仮想環境と相性が良いです。(pip.pypa.io)
実務では「venv を作る → pip install -r requirements.txt → pip list --outdatedで更新確認」の流れが定番です。(pip.pypa.io)
構文(Syntax)
python -m pip <command> [OPTIONS] [ARGS...]
# よく使うコマンド
python -m pip install PKG [PKG2 ...]
python -m pip uninstall PKG [PKG2 ...]
python -m pip list [--outdated]
python -m pip show PKG
python -m pip freeze
python -m pip check
python -m pip cache [dir|info|list|remove|purge]
python -m pip index versions PKG
- コマンド一覧は pip 公式 CLI リファレンスを参照。(pip.pypa.io)
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-r FILE | requirements ファイルから一括導入 | python -m pip install -r requirements.txt (pip.pypa.io) |
-c FILE | constraints(上限固定などの制約)を適用 | python -m pip install -r req.txt -c constraints.txt (pip.pypa.io) |
-U, --upgrade | 指定パッケージを最新版へ更新 | python -m pip install -U requests (pip.pypa.io) |
--pre | プレリリース版も許可 | python -m pip install --pre fastapi (pip.pypa.io) |
--user | ユーザー領域にインストール(管理者権限不要) | python -m pip install --user mypy (pip.pypa.io, Python documentation) |
--no-deps | 依存関係を入れない | python -m pip install --no-deps pkg (pip.pypa.io) |
--no-cache-dir | キャッシュを使わない | python -m pip install --no-cache-dir aiohttp (pip.pypa.io) |
-i URL, --index-url URL | 既定インデックス(PyPI 以外)を指定 | python -m pip install -i https://mirror/simple/ pkg (pip.pypa.io) |
--extra-index-url URL | 追加のインデックスを併用 | python -m pip install --extra-index-url https://extra/simple pkg (pip.pypa.io) |
--trusted-host HOST | 証明書検証をしないホストを許可(やむを得ない場合のみ) | python -m pip install --trusted-host myrepo pkg (pip.pypa.io) |
-t DIR, --target DIR | site-packages 以外の任意ディレクトリに導入 | python -m pip install -t ./vendor requests (pip.pypa.io) |
--break-system-packages | OS 管理の Python への書き込み保護(PEP 668)を一時的に解除 | python -m pip install PKG --break-system-packages (pip.pypa.io, Python Packaging User Guide) |
メモ:
pip searchは PyPI 側 API 廃止のため無効になりました。検索は https://pypi.org またはpip index versionsなどを利用します。(pip.pypa.io)
実行例
仮想環境を作ってパッケージを導入
説明: プロジェクト直下に venv を作成し、requests を導入します。
コマンド:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install requests
python -m pip show requests
出力例(抜粋):
Name: requests
Version: 2.x.y
Location: /path/to/project/.venv/lib/pythonX.Y/site-packages
(python -m pip で “その Python” に対して実行)(pip.pypa.io)
requirements/constraints を使った再現性インストール
説明: 依存を requirements.txt に、上限等の固定を constraints.txt に分けて管理。
コマンド:
python -m pip install -r requirements.txt -c constraints.txt
(-r と -c の意味は pip 公式に準拠)(pip.pypa.io)
社内リポジトリを併用してインストール
説明: 既定は PyPI。必要に応じて追加インデックスを併用します。
コマンド:
python -m pip install \
--index-url https://pypi.org/simple \
--extra-index-url https://repo.example.com/simple \
internal-pkg
古くなったパッケージを確認し更新
説明: アウトデートを確認し、個別に更新します。
コマンド:
python -m pip list --outdated
python -m pip install -U <古いパッケージ名>
キャッシュの場所確認と全削除
説明: トラブル時にキャッシュをクリアします。
コマンド:
python -m pip cache dir
python -m pip cache purge
エラー例:OS管理環境(PEP 668)でのインストール拒否
説明: ディストリが管理する Python では、システム破壊防止で pip が書き込みをブロックすることがあります。
コマンド:
python -m pip install somepkg
# → error: externally-managed-environment(要約)
対処: 仮想環境の使用が推奨(python -m venv .venv)。どうしても必要なら自己責任で --break-system-packages を付与します。(Python Packaging User Guide, pip.pypa.io)
関連コマンド
python -m venv: プロジェクトごとの仮想環境を作成。pip index versions PKG: 利用可能なバージョン一覧(実験的)。(pip.pypa.io)pip cache: wheel キャッシュの確認・削除。(pip.pypa.io)pip check: 依存関係の破綻チェック。(pip.pypa.io)pip freeze: 現在の環境を requirements 形式で出力。(pip.pypa.io)
備考
- ベストプラクティス:
python -m pipで実行し、仮想環境を使う。ユーザー環境に入れる場合は--userを検討。(pip.pypa.io, Python documentation) - 検索について:
pip searchは無効です。PyPI Web 検索やpip indexを使います。(pip.pypa.io) - 設定ファイル:
pip config setでindex-urlなどを永続設定できます(グローバル/ユーザー/venv 単位)。(pip.pypa.io) - インデックス/ミラー:
--index-url/--extra-index-url/--find-linksで取得先を制御できます。(pip.pypa.io) - システム改変の抑止: PEP 668 により一部ディストリで OS 管理の Python は保護されます。やむを得ない場合のみ
--break-system-packagesを使用。(Python Packaging User Guide)
参考
- pip CLI(コマンド一覧): (pip.pypa.io)
pip installリファレンス(主要オプション・例): (pip.pypa.io)- ユーザーガイド(
python -m pipの実行方法など): (pip.pypa.io) - 設定(
pip configと設定ファイル): (pip.pypa.io) - キャッシュ操作: (pip.pypa.io)
- パッケージのインストール(Packaging ユーザーガイド): (Python Packaging User Guide)
pip index(バージョン照会・実験的): (pip.pypa.io)pip search廃止の背景: (pip.pypa.io)

コメント