パッケージ管理したい(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 search)
(.venv) $ pip search キーワード
ERROR: XMLRPC request failed [code: -32500]
RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search). Please use https://pypi.org/search (via a browser) instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information.
pip searchで、PyPIに登録されているパッケージを検索できました。
しかし、2023年4月にPyPIのXML-RPC APIが廃止されたため、pip searchは使えなくなりました。
現在は、ブラウザでhttps://pypi.org/searchを開いて検索する必要があります。
パッケージの詳細を確認したい(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にそのまま使える形式という違いがあります。