pip - Python 標準パッケージマネージャー
pip(ピップ)とは、Python に標準搭載されているパッケージマネージャーです。Python で書かれたライブラリやツールを、コマンド1行でインストール・管理できます。
JavaScript の npm が Node.js に標準搭載されているのと同様に、pip は Python に最初から含まれています。「Python の App Store」と考えると分かりやすいです。PyPI(パイピーアイ) という公式リポジトリに公開されている 50 万以上のパッケージを、コマンド1行で取得できます。
対象読者: Python を始めたばかりで外部ライブラリのインストール方法を学びたい方
学習時間の目安: 読了 10分 + 実践 15分
前提知識: Python のインストール済み
なぜ pip が必要なのか
Section titled “なぜ pip が必要なのか”Python でデータ分析や AI の開発をしようとすると、Python の標準ライブラリだけでは不十分なことがほとんどです。例えば:
- データ分析 には
pandas(データ操作)やnumpy(数値計算)が必要 - AI・機械学習 には
scikit-learnやtorch(PyTorch)が必要 - Web 開発 には
flaskやfastapiが必要
これらを手動でダウンロード・配置するのは現実的ではありません。pip を使えば、依存するライブラリも含めて自動でインストールされます。
インストールの確認
Section titled “インストールの確認”Python 3.4 以降には pip が標準で含まれています。まず pip が使える状態か確認しましょう。
pip --version次のように表示されれば成功です。
pip 24.0 from /usr/local/lib/python3.12/site-packages/pip (python 3.12)pip: command not found と表示された場合は、pip3 を試してください。
pip3 --versionmacOS では python コマンドが Python 2 を指している場合があり、Python 3 向けの pip は pip3 という名前になっています。このドキュメントでは以降 pip と記載しますが、環境に応じて pip3 に読み替えてください。
基本コマンド
Section titled “基本コマンド”| コマンド | 説明 | 使う場面 |
|---|---|---|
pip install <pkg> | パッケージをインストール | 新しいライブラリを追加したいとき |
pip install <pkg>==1.2.3 | バージョンを指定してインストール | 特定バージョンが必要なとき |
pip uninstall <pkg> | パッケージをアンインストール | 不要になったとき |
pip list | インストール済みパッケージを一覧表示 | 何が入っているか確認するとき |
pip freeze | インストール済みパッケージをバージョン付きで出力 | requirements.txt を作成するとき |
pip show <pkg> | パッケージの詳細情報を表示 | バージョンやインストール場所を確認するとき |
pip install -r requirements.txt | ファイルに記載されたパッケージを一括インストール | プロジェクトをセットアップするとき |
コマンドの使用例
Section titled “コマンドの使用例”# Flask をインストールする
pip install flask
# バージョンを指定してインストールする
pip install flask==3.0.0
# インストール済みの一覧を確認する
pip list
# 詳細情報を確認する
pip show flaskpip show flask の出力例:
Name: Flask
Version: 3.0.3
Summary: A simple framework for building complex web applications.
Location: /usr/local/lib/python3.12/site-packages
Requires: blinker, click, itsdangerous, jinja2, werkzeugrequirements.txt の使い方
Section titled “requirements.txt の使い方”requirements.txt とは、プロジェクトが必要とするパッケージとそのバージョンを記録したテキストファイルです。「プロジェクトの材料リスト」と考えると分かりやすいです。
なぜ requirements.txt が必要か
Section titled “なぜ requirements.txt が必要か”チームで開発する場合や、別の PC でプロジェクトを動かす場合、「自分の環境でインストールしたパッケージ」を他の人にも同じバージョンで再現してもらう必要があります。requirements.txt があれば、コマンド1行で同じ環境を再現できます。
requirements.txt の作成
Section titled “requirements.txt の作成”現在の環境にインストールされているパッケージを requirements.txt に書き出します。
pip freeze > requirements.txt生成された requirements.txt の例:
flask==3.0.3
blinker==1.8.2
click==8.1.7
itsdangerous==2.2.0
jinja2==3.1.4
markupsafe==2.1.5
werkzeug==3.0.3requirements.txt からインストール
Section titled “requirements.txt からインストール”他の人がプロジェクトをセットアップする場合や、新しい環境でセットアップする場合は次のコマンドを実行します。
pip install -r requirements.txtこれで requirements.txt に記載されているパッケージがすべて同じバージョンでインストールされます。
requirements.txt を Git に含める
Section titled “requirements.txt を Git に含める”requirements.txt は Git で管理します。プロジェクトに参加した人が pip install -r requirements.txt を実行するだけで、同じ環境を再現できます。
仮想環境(venv)との連携
Section titled “仮想環境(venv)との連携”仮想環境とは
Section titled “仮想環境とは”仮想環境(virtual environment)とは、プロジェクトごとに独立した Python の実行環境を作る仕組みです。「プロジェクトごとに独立した作業部屋」と考えると分かりやすいです。
仮想環境を使わずに pip でパッケージをインストールすると、PC 全体(グローバル環境)にパッケージが入ります。すると次のような問題が起きます。
- プロジェクト A は
flask 2.xを必要とし、プロジェクト B はflask 3.xを必要とする場合、両方を同時に使えない - あるプロジェクトのパッケージが別のプロジェクトに影響する
仮想環境を使うと、プロジェクトごとに独立したパッケージ管理ができます。
venv の使い方
Section titled “venv の使い方”venv は Python 3.3 以降に標準搭載されている仮想環境ツールです。
ステップ 1: 仮想環境を作成する
Section titled “ステップ 1: 仮想環境を作成する”プロジェクトフォルダ内で次のコマンドを実行します。
python -m venv venvこれでプロジェクトフォルダ内に venv フォルダが作成されます。
my-project/
├── venv/ ← 仮想環境(パッケージがここに入る)
│ ├── bin/
│ ├── lib/
│ └── ...
└── main.pyステップ 2: 仮想環境を有効化する
Section titled “ステップ 2: 仮想環境を有効化する”# macOS / Linux
source venv/bin/activate
# Windows(コマンドプロンプト)
venv\Scripts\activate.bat
# Windows(PowerShell)
venv\Scripts\Activate.ps1有効化されると、プロンプトの先頭に (venv) が表示されます。
(venv) $ステップ 3: パッケージをインストールする
Section titled “ステップ 3: パッケージをインストールする”仮想環境が有効な状態で pip install を実行すると、グローバルではなく仮想環境内にパッケージが入ります。
(venv) $ pip install flaskステップ 4: 仮想環境を無効化する
Section titled “ステップ 4: 仮想環境を無効化する”作業が終わったら次のコマンドで仮想環境から抜けます。
deactivatevenv フォルダを Git に含めない
Section titled “venv フォルダを Git に含めない”venv フォルダは Git で管理しません。サイズが大きく、OS やバージョンによって異なるため、.gitignore に追加します。
# .gitignore
venv/
__pycache__/
*.pyc他の人がプロジェクトをセットアップする手順は次のようになります。
# リポジトリをクローン
git clone <repository-url>
cd <project-folder>
# 仮想環境を作成して有効化
python -m venv venv
source venv/bin/activate
# 必要なパッケージをインストール
pip install -r requirements.txt具体例:Flask で Hello World
Section titled “具体例:Flask で Hello World”pip と venv を使った実践例として、Flask の Web サーバーを動かしてみましょう。
# 1. プロジェクトフォルダを作成して移動
mkdir my-flask-app
cd my-flask-app
# 2. 仮想環境を作成して有効化
python -m venv venv
source venv/bin/activate # macOS / Linux
# 3. Flask をインストール
pip install flask
# 4. インストールを確認
pip show flask次に app.py を作成します。
# app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run(debug=True)# 5. サーバーを起動
python app.py起動後にブラウザで http://localhost:5000 を開くと「Hello, World!」が表示されます。
# 6. requirements.txt を作成(他の人と共有するため)
pip freeze > requirements.txt
# 7. 作業終了後に仮想環境を無効化
deactivateよくあるエラーと解決法
Section titled “よくあるエラーと解決法”pip: command not found
Section titled “pip: command not found”原因: Python がインストールされていないか、PATH が設定されていない。
解決法: まず pip3 を試してください。
pip3 --versionそれでも解決しない場合は、Python が正しくインストールされているか確認します。
python3 --versionPython が入っていれば、次のコマンドで pip を有効化できます。
python3 -m ensurepip --upgradeModuleNotFoundError: No module named 'xxx'
Section titled “ModuleNotFoundError: No module named 'xxx'”原因: パッケージがインストールされていない、または仮想環境外でインストールした。
解決法: 仮想環境が有効化されているか確認してから、パッケージをインストールします。
# 仮想環境を有効化(プロンプトに (venv) が表示されるか確認)
source venv/bin/activate
# パッケージをインストール
pip install <パッケージ名>ERROR: Could not install packages due to an OSError
Section titled “ERROR: Could not install packages due to an OSError”原因: ディスクの空き容量が不足しているか、パーミッションの問題。
解決法: 仮想環境を使っているか確認してください。グローバル環境にインストールしようとするとパーミッションエラーが起きやすいです。仮想環境内であれば sudo なしでインストールできます。
pip install が遅い
Section titled “pip install が遅い”大きなパッケージや依存関係が多いパッケージはインストールに時間がかかることがあります。高速なパッケージマネージャーが必要な場合は、次のステップで紹介する uv を検討してください。
- pip は Python 標準のパッケージマネージャー。Python をインストールすると使える
pip install <パッケージ名>でライブラリをインストールできるrequirements.txtでプロジェクトの依存関係を記録・再現できるvenvと組み合わせてプロジェクトごとに独立した環境を管理するvenvフォルダは.gitignoreに追加して Git の管理対象外にする
次のステップ
Section titled “次のステップ”よくある質問
Section titled “よくある質問”Q: pip と pip3 の違いは何ですか?
A: pip と pip3 は、どちらの Python バージョンに対して動作するかが異なります。macOS では python が Python 2 を指すことがあり、その場合 pip も Python 2 向けになります。Python 3 を使っている場合は pip3 を使うと確実です。仮想環境の中では pip が自動的に Python 3 向けになります。
Q: requirements.txt と package.json(npm)の違いは何ですか?
A: 役割は似ていますが、requirements.txt はシンプルなテキスト形式で、pip freeze で自動生成します。package.json はプロジェクト名やスクリプトなども含む JSON 形式です。Python では pyproject.toml が package.json に近い役割を持ちます。
Q: venv と conda(Anaconda)の違いは何ですか?
A: venv は Python 標準の仮想環境ツールで、Python パッケージのみを管理します。conda はデータサイエンス向けのパッケージ管理ツールで、Python 以外のパッケージ(C ライブラリなど)も管理できます。一般的な開発には venv が軽量でシンプルです。
Q: 仮想環境を使わなければいけませんか?
A: 必須ではありませんが、強く推奨します。グローバル環境に pip でインストールしていくと、プロジェクト間のバージョン競合が起きやすくなります。仮想環境を使う習慣をつけることで、「自分の PC では動くのに他の環境では動かない」という問題を予防できます。