パッケージ管理したい(pip)

$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv) $ pip install typer
(.venv) $ pip install pytest
(.venv) $ pip install ruff
(.venv) $ pip install ty

pipは、Pythonのパッケージを管理するコマンドです。 Pythonの標準パッケージに含まれているので、追加のインストールは不要です。

詳細はパッケージ管理したい(pip)を参照してください。

インストールしたい(python3)

$ brew install python3

$ python3 --version
Python 3.14.7

pip3 --version
pip 26.2.1 from /opt/homebrew/lib/python3.14/site-packages/pip (python 3.14)

pipはHomebrewでインストールできます。 フォーミュラ名はpython3です。

$ /usr/bin/python3 --version
Python 3.9.6

$ /usr/bin/pip3 --version
pip 24.2 from /Users/shotakaha/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

macOSにはデフォルトでpipがインストールされていますが、Homebrewを使って最新版を取得しておきます。

パッケージの詳細を確認したい(pip show)

(.venv) $ pip show パッケージ名
Name: requests
Version: 2.34.2
Summary: Python HTTP for Humans.
License: Apache-2.0
Location: .venv/lib/python3.12/site-packages
Requires: certifi, charset_normalizer, idna, urllib3
Required-by:

showコマンドで、パッケージのバージョンや依存関係(Requires)、 逆にそのパッケージに依存しているパッケージ(Required-by)を確認できます。

パッケージを追加したい(pip install)

(.venv) $ pip install パッケージ名
(.venv) $ pip install "パッケージ名<バージョン"

installコマンドでパッケージを追加できます。 <・<=・==・>=・>でバージョンを指定できます。 シェルが<や>を解釈しないように、クォートで囲んでおくと安全です。

(.venv) $ pip install -r requirements.txt

後述するrequirements.txtで、プロジェクトに必要なパッケージを整理できます。 -rオプションで、requirements.txtに書かれたパッケージをまとめてインストールできます。

パッケージを削除したい(pip uninstall)

(.venv) $ pip uninstall パッケージ名
(.venv) $ pip uninstall -y パッケージ名

uninstallコマンドでパッケージを削除できます。 デフォルトでは削除前に確認プロンプトが表示されるので、 スクリプトなどで自動化したい場合は-yオプションをつけます。

インストール済みのパッケージを確認したい(pip list)

(.venv) $ pip list
Package    Version
---------- -------
pip        24.2
requests   2.34.2
...

listコマンドで、インストール済みのパッケージを一覧表示できます。

パッケージの更新を確認したい(pip list --outdated)

(.venv) $ pip list --outdated
Package  Version Latest Type
-------- ------- ------ -----
pip      24.2    26.2.1 wheel
requests 2.29.0  2.34.2 wheel

--outdatedオプションで、新しいバージョンがあるパッケージだけを確認できます。 Versionが現在のバージョン、Latestが最新バージョンです。

(.venv) $ pip3 list --outdated | awk 'NR>2{print $1}' | xargs pip3 install -U pip

更新が必要なパッケージを一括で更新するコマンドやオプションはありません。 僕は上のワンライナーで一括更新しています。

依存パッケージを一括管理したい(requirements.txt)

(.venv) $ pip freeze > requirements.txt
(.venv) $ pip install -r requirements.txt

pip freezeで、インストール済みパッケージとバージョンをパッケージ名==バージョンの形式で書き出せます。 出力をrequirements.txtに保存しておくと、 pip install -r requirements.txtで同じ環境を別のマシンにも再現できます。

注釈

pip listは表形式で見やすく、pip freezeはrequirements.txtにそのまま使える形式という違いがあります。