pipコマンド チートシート

cheatsheet

Python パッケージ管理の定番ツール

新しいパッケージを環境に追加する際の基本操作です。

目的 コマンド 説明
基本インストール
pip install パッケージ名
PyPI (Python Package Index) から最新バージョンのパッケージをインストールします。最も基本的な使い方です。例:
pip install requests
バージョン指定
pip install パッケージ名==バージョン
指定したバージョンのパッケージをインストールします。例:
pip install requests==2.25.1
最小バージョンの指定
pip install "パッケージ名>=バージョン"
指定したバージョン以上の最新版をインストールします。比較演算子 (<, >, <=, >=, !=) が利用可能です。クォーテーションで囲むのが安全です。例:
pip install "requests>=2.20.0"
複数バージョン条件
pip install "パッケージ名>=バージョン1,<バージョン2"
複数のバージョン条件をカンマ区切りで指定できます。例:
pip install "requests>=2.20.0,<3.0.0"
複数パッケージの一括インストール
pip install パッケージ1 パッケージ2 ...
複数のパッケージを一度にインストールできます。スペースで区切ります。例:
pip install requests numpy pandas
requirements.txt からインストール
pip install -r requirements.txt
requirements.txt ファイルに記載されたパッケージリストを一括でインストールします。プロジェクトの依存関係管理に不可欠です。-r--requirement の略です。ファイル名は任意に変更可能です。例:
pip install -r requirements_dev.txt
Gitリポジトリからインストール
pip install git+https://リポジトリURL
Gitリポジトリから直接パッケージをインストールします。開発中のライブラリや、PyPIに公開されていないパッケージのインストールに利用します。例:
pip install git+https://github.com/psf/requests.git
Gitリポジトリ (特定ブランチ/タグ/コミット)
pip install git+https://リポジトリURL@ブランチ名#egg=パッケージ名
pip install git+https://リポジトリURL@タグ名#egg=パッケージ名
pip install git+https://リポジトリURL@コミットハッシュ#egg=パッケージ名
特定のブランチ、タグ、コミットハッシュを指定してインストールできます。#egg=パッケージ名 は省略可能な場合もありますが、依存関係解決のために推奨されます。例:
pip install git+https://github.com/psf/requests.git@v2.25.1#egg=requests
Gitリポジトリ (SSH経由)
pip install git+ssh://git@github.com/ユーザー名/リポジトリ名.git
SSH認証を利用してプライベートリポジトリなどからインストールする場合に使用します。事前にSSH鍵の設定が必要です。
ローカルファイルからインストール
pip install ./パス/to/パッケージファイル.whl
pip install ./パス/to/ソースアーカイブ.tar.gz
pip install ./パス/to/プロジェクトディレクトリ
ダウンロード済みのWheelファイル (.whl)、ソースアーカイブ (.tar.gz, .zip)、またはローカルのプロジェクトディレクトリからインストールします。オフライン環境や独自パッケージのインストールに用います。
編集可能モード (Editable mode)
pip install -e ./パス/to/プロジェクトディレクトリ
pip install -e git+https://リポジトリURL#egg=パッケージ名
パッケージをアンインストール・再インストールすることなく、ソースコードの変更が即座に反映されるモードでインストールします (シンボリックリンクのような挙動)。主にパッケージ開発時に使用します。-e--editable の略です。
特定のインデックスURLからインストール
pip install --index-url https://カスタムPyPIのURL パッケージ名
pip install -i https://カスタムPyPIのURL パッケージ名
デフォルトのPyPI (pypi.org) ではなく、指定したインデックスサーバーからパッケージを探してインストールします。社内PyPIサーバーなどを利用する場合に使います。-i--index-url の略です。
追加のインデックスURLを指定
pip install --extra-index-url https://追加PyPIのURL パッケージ名
デフォルトのPyPIに加えて、追加のインデックスサーバーも検索対象にします。複数のPyPIサーバーを併用したい場合に利用します。
信頼されたホストを指定
pip install --trusted-host example.com --index-url http://example.com パッケージ名
HTTPSではなくHTTPで提供されるインデックスサーバーを利用する場合など、SSL検証をスキップしたいホストを指定します。セキュリティリスクを理解した上で使用してください。
依存関係のみインストール (パッケージ自体は除く)
pip install --no-deps パッケージ名
パッケージの依存関係をインストールせずに、指定したパッケージのみをインストールします。依存関係は別途管理する場合などに使用します。
依存関係を無視して強制インストール
pip install --ignore-installed パッケージ名
すでにインストールされているパッケージやその依存関係を無視して、強制的に再インストールします。問題が発生した場合のトラブルシューティングなどに使いますが、注意が必要です。
Wheelキャッシュを使用しない
pip install --no-cache-dir パッケージ名
ビルド済みのWheelキャッシュを使用せずに、毎回ソースからビルドしてインストールします。キャッシュが原因で問題が発生している場合に試します。
ユーザーディレクトリへのインストール
pip install --user パッケージ名
システム全体ではなく、現在のユーザーのホームディレクトリ配下にパッケージをインストールします。システムへの書き込み権限がない場合や、ユーザー固有の環境を構築したい場合に利用します。環境変数 `PYTHONUSERBASE` で場所を確認・変更できます。
インストール前に確認
pip install --dry-run パッケージ名
実際にインストールは行わず、何がインストールされるかを表示します。-d オプション (--download) と組み合わせると、ダウンロードのみ行うことも可能です。
プロキシ経由でのインストール
pip install --proxy [ユーザー:パスワード@]プロキシサーバー:ポート パッケージ名
プロキシサーバー経由でインターネットに接続する必要がある環境で使用します。環境変数 `HTTP_PROXY`, `HTTPS_PROXY` でも設定可能です。

🗑️ パッケージのアンインストール

不要になったパッケージを環境から削除します。

目的 コマンド 説明
基本アンインストール
pip uninstall パッケージ名
指定したパッケージをアンインストールします。通常、削除するファイル一覧が表示され、確認を求められます (y/n)。
複数パッケージの一括アンインストール
pip uninstall パッケージ1 パッケージ2 ...
複数のパッケージを一度にアンインストールできます。スペースで区切ります。
requirements.txt からアンインストール
pip uninstall -r requirements.txt
requirements.txt ファイルに記載されたパッケージリストを一括でアンインストールします。依存関係は自動的には削除されない点に注意が必要です。
確認なしでのアンインストール
pip uninstall -y パッケージ名
pip uninstall --yes パッケージ名
アンインストール前の確認プロンプト (y/n) をスキップし、自動的に「yes」と回答して削除を実行します。スクリプトなどで自動化する際に便利ですが、誤操作に注意が必要です。
注意: pip uninstall は通常、指定されたパッケージのみを削除し、そのパッケージが依存していた他のパッケージは削除しません。不要になった依存パッケージは別途確認・削除する必要があります (例: `pip-autoremove` などの外部ツールを利用)。

🔍 パッケージの確認・一覧表示

現在インストールされているパッケージや、特定のパッケージの詳細情報を確認します。

目的 コマンド 説明
インストール済みパッケージ一覧
pip list
現在のアクティブなPython環境にインストールされている全パッケージとそのバージョンを一覧表示します。
古いパッケージの確認
pip list --outdated
pip list -o
インストール済みパッケージの中で、PyPIで新しいバージョンが利用可能なものをリストアップします。現在のバージョンと最新バージョンが表示されます。アップグレードの検討に役立ちます。
最新でないパッケージの確認 (編集可能含む)
pip list --uptodate
pip list -u
インストール済みのパッケージのうち、最新バージョンであるものをリストアップします。
編集可能モードのパッケージのみ表示
pip list --editable
pip list -e
pip install -e でインストールされたパッケージのみをリストアップします。
ローカルパッケージのみ表示 (非推奨)
pip list --local
システムワイドなパッケージを除き、現在の環境 (例: venv) にインストールされたものだけを表示しようと試みますが、意図通りに動作しない場合があります。通常は `pip list` で十分です。
一覧表示形式の変更 (Columns)
pip list --format=columns
パッケージ名とバージョンを列形式で表示します (デフォルト)。
一覧表示形式の変更 (Freeze)
pip list --format=freeze
requirements.txt と同じ形式 (パッケージ名==バージョン) で一覧表示します。後述の `pip freeze` と同じです。
一覧表示形式の変更 (JSON)
pip list --format=json
インストール済みパッケージの情報をJSON形式で出力します。他のツールやスクリプトで処理する際に便利です。
特定のパッケージ情報表示
pip show パッケージ名
指定したパッケージの名前、バージョン、概要、ホームページURL、作者、ライセンス、インストール場所、依存関係などの詳細情報を表示します。例:
pip show requests
パッケージのファイル一覧表示
pip show -f パッケージ名
pip show --files パッケージ名
指定したパッケージに含まれるファイルの一覧を表示します。インストールされたファイルのパスを確認できます。
requirements.txt 形式での一覧表示
pip freeze
インストールされているパッケージを パッケージ名==バージョン の形式で一覧表示します。この出力をリダイレクト (>) して requirements.txt ファイルを作成するのが一般的です。例:
pip freeze > requirements.txt
`pip freeze` (ローカルのみ)
pip freeze --local
システムグローバルなパッケージを除外して、現在の仮想環境などにインストールされたパッケージのみを `freeze` 形式で表示しようと試みますが、意図通りに動作しない場合があります。仮想環境を使っている場合は通常不要です。
`pip freeze` (ユーザーのみ)
pip freeze --user
`–user` オプションでインストールされたパッケージのみを `freeze` 形式で表示します。
`pip freeze` (全環境)
pip freeze --all
`pip` 自体や `setuptools` など、通常 `pip freeze` では出力されないパッケージも含めて全て表示します。特定の状況下でのデバッグなどに役立ちます。
依存関係ツリー表示 (外部ツール)
pip install pipdeptree
pipdeptree
pip 自体の機能ではありませんが、pipdeptree という外部ツールをインストールすると、パッケージ間の依存関係をツリー形式で分かりやすく表示できます。どのパッケージがどのパッケージに依存しているかを確認するのに非常に便利です。pipdeptree --reverse で逆引きも可能です。
依存関係のチェック
pip check
インストール済みのパッケージ間で、依存関係のバージョンが満たされているか、競合がないかなどをチェックします。問題が見つかると表示されます。環境の健全性を確認するのに役立ちます。

⬆️ パッケージのアップグレード

インストール済みのパッケージを新しいバージョンに更新します。

目的 コマンド 説明
基本アップグレード
pip install --upgrade パッケージ名
pip install -U パッケージ名
指定したパッケージを PyPI で利用可能な最新の安定版にアップグレードします。依存関係も必要に応じて更新されます。-U--upgrade の略です。例:
pip install -U requests
全パッケージのアップグレード (⚠️注意)

以下のコマンドは非推奨です:

# Windows (PowerShell)
pip list --outdated --format=freeze | %{$_.split('==')[0]} | %{pip install -U $_}

# Linux/macOS (bash/zsh)
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U
インストールされている全ての古いパッケージをアップグレードしようと試みるコマンド例です。しかし、これは依存関係のコンフリクトを引き起こす可能性が高いため、一般的には推奨されません。 個別にアップグレードするか、pip-review のような外部ツールを使う方が安全です。
アップグレード戦略の指定 (Eager)
pip install -U --upgrade-strategy eager パッケージ名
依存関係も含めて、可能な限り最新バージョンにアップグレードしようとします。これがデフォルトの挙動です。
アップグレード戦略の指定 (Only-if-needed)
pip install -U --upgrade-strategy only-if-needed パッケージ名
指定したパッケージのアップグレードに必要な最小限の依存関係のみをアップグレードします。依存関係の変更を最小限に抑えたい場合に使用します。
プレリリース版/開発版へのアップグレード
pip install --upgrade --pre パッケージ名
安定版だけでなく、アルファ版 (a)、ベータ版 (b)、リリース候補版 (rc) などのプレリリースバージョンも含めて最新版にアップグレードします。新しい機能を試したい場合などに利用します。
特定のバージョンへダウングレード
pip install パッケージ名==旧バージョン
アップグレードではなく、特定の古いバージョンをインストールすることで、実質的なダウングレードを行います。--force-reinstall オプションが必要な場合もあります。例:
pip install requests==2.24.0 --force-reinstall
アップグレードの注意点: パッケージをアップグレードすると、依存関係の変更により既存のコードが動作しなくなる可能性があります。特にメジャーバージョンアップの場合は注意が必要です。アップグレード前に変更点を確認し、テストを行うことを推奨します。仮想環境での作業が安全です。

🔎 パッケージの検索

PyPI で公開されているパッケージを検索します。

補足: pip search コマンドは、PyPI の負荷軽減のため、現在は非推奨となっており、機能が制限されているか、将来的に削除される可能性があります。PyPI のウェブサイト (https://pypi.org/) で直接検索することが推奨されています。
目的 コマンド (非推奨) 説明
PyPIでのパッケージ検索
pip search キーワード
指定したキーワードに一致するパッケージを PyPI で検索し、パッケージ名と概要を表示します。現在はこのコマンドの利用は推奨されていません。例:
pip search request

🛠️ pip 自体の管理

pip ツール自体のバージョンを確認したり、アップグレードしたりします。

目的 コマンド 説明
pip のアップグレード
pip install --upgrade pip
python -m pip install --upgrade pip
pip 自身を最新バージョンにアップグレードします。pip の機能改善やバグ修正が含まれるため、定期的なアップグレードが推奨されます。環境によっては `python -m pip …` の形式でないと正しく動作しない場合があります。
pip のバージョン確認
pip --version
pip -V
現在使用している pip のバージョンと、それがインストールされている Python のパスを表示します。

🧹 キャッシュ管理

pip が使用するキャッシュの情報を表示したり、削除したりします。

目的 コマンド 説明
キャッシュ情報の表示
pip cache info
pip が使用するキャッシュディレクトリの場所や、現在のキャッシュサイズなどを表示します。
キャッシュディレクトリの表示
pip cache dir
キャッシュが保存されているディレクトリのパスを表示します。
キャッシュ内容の一覧表示
pip cache list [パターン]
キャッシュされている Wheel ファイルの一覧を表示します。オプションでワイルドカード (*) を使ったパターンマッチングによる絞り込みも可能です。例:
pip cache list requests*
特定のキャッシュの削除
pip cache remove パターン
指定したパターンに一致するキャッシュファイル (Wheel) を削除します。例:
pip cache remove requests
全キャッシュの削除
pip cache purge
pip のキャッシュを全て削除します。ディスク容量を確保したい場合や、キャッシュが原因と思われる問題が発生した場合に実行します。実行には確認が必要です。
キャッシュの役割: pip は一度ダウンロード・ビルドしたパッケージ (Wheel ファイル) をキャッシュしておくことで、次回以降のインストールを高速化します。通常は削除する必要はありませんが、ディスク容量の圧迫や、稀にキャッシュの破損による問題が発生することがあります。

⚙️ 設定ファイル (pip.conf / pip.ini)

pip のデフォルトの挙動をカスタマイズするための設定ファイルについて説明します。

項目 内容 説明
設定ファイルの場所 Linux/macOS:
  • グローバル: /etc/pip.conf
  • ユーザー: ~/.config/pip/pip.conf (推奨)
  • ユーザー (旧): ~/.pip/pip.conf
  • 仮想環境: $VIRTUAL_ENV/pip.conf
Windows:
  • グローバル: C:\ProgramData\pip\pip.ini
  • ユーザー: %APPDATA%\pip\pip.ini (推奨)
  • ユーザー (旧): %HOME%\pip\pip.ini
  • 仮想環境: %VIRTUAL_ENV%\pip.ini
pip はこれらの場所から設定ファイルを読み込みます。ユーザー設定がグローバル設定を上書きし、仮想環境設定がユーザー設定を上書きします。ファイルが存在しない場合は作成します。ファイル名は Linux/macOS では pip.conf、Windows では pip.ini です。
設定ファイルの形式
[global]
index-url = https://my-custom-pypi.example.com/simple
trusted-host = my-custom-pypi.example.com
timeout = 60

[install]
no-cache-dir = true
# --user オプションをデフォルトで有効にする (非推奨)
# user = true

[list]
format = columns
INI ファイル形式で記述します。[global] セクションは全てのコマンドに適用される設定を書きます。各コマンド名のセクション (例: [install], [list]) にはそのコマンド固有のデフォルトオプションを設定できます。コマンドラインオプションの -- を除いた名前がキーになります (例: --index-urlindex-url)。真偽値は true/false または yes/no で指定します。
よく使われる設定例
  • index-url: デフォルトのインデックスサーバーURLを指定。
  • extra-index-url: 追加のインデックスサーバーURLを指定。
  • trusted-host: SSL検証をスキップするホストを指定。
  • timeout: ネットワーク操作のタイムアウト秒数を指定。
  • no-cache-dir: キャッシュをデフォルトで無効化 ([install] セクション内)。
  • format: pip list のデフォルト表示形式を指定 ([list] セクション内)。
  • proxy: プロキシサーバーを指定 ([global] セクション内)。
設定ファイルを使うことで、毎回コマンドラインオプションを指定する手間を省くことができます。特に、社内PyPIやプロキシ環境などでは設定しておくと便利です。

💡 その他便利なコマンド

pip のヘルプ表示やデバッグに役立つコマンドです。

目的 コマンド 説明
ヘルプ表示 (全体)
pip help
pip --help
pip で利用可能なコマンドの一覧と、グローバルオプションの概要を表示します。
ヘルプ表示 (特定コマンド)
pip help コマンド名
pip コマンド名 --help
指定したコマンド (例: install, list) の詳細なヘルプ、利用可能なオプションを表示します。例:
pip help install
デバッグ情報の表示
pip --verbose コマンド [オプション]
pip -v コマンド [オプション]
コマンド実行時の詳細な情報を出力します。問題発生時の原因調査に役立ちます。-vv, -vvv のように複数指定すると、さらに詳細な情報 (デバッグレベル) が表示されます。
構成情報の表示
pip config list
現在有効な設定ファイルとその内容、設定の由来(どのファイルから読み込まれたか)を表示します。設定が正しく反映されているか確認するのに便利です。
特定の設定値の取得
pip config get 設定キー
指定したキー (例: global.index-url) の現在の設定値を取得します。
設定値の設定 (非推奨)
pip config set 設定キー 値
設定ファイルに値を書き込みます。ただし、どの設定ファイルに書き込まれるかは環境に依存するため、直接ファイルを編集する方が確実であり、推奨されます。
設定値の削除 (非推奨)
pip config unset 設定キー
設定ファイルから指定したキーの設定を削除します。直接ファイルを編集する方が確実であり、推奨されます。

コメント

タイトルとURLをコピーしました