できない.dev

pip コマンドが見つからない・実行できない(command not found / No module named pip)

pip が無いのは「実体が pip3 のみ」「Scripts / bin が PATH 外」「pip 自体が未導入」の 3 系統。
python -m pip で呼べば大半は回避でき、本体が無ければ ensurepip や OS パッケージで導入する。

#pip#path#command-not-found#ensurepip#venv

公開:

要約

pip: command not found(Windows では 'pip' は、内部コマンド...として認識されていません)は、pip という名前の実行ファイルが PATH 上に無い ことを意味する。
最初に試すべきは python -m pip --version(環境によっては python3 -m pip)で、これで動くなら pip 本体は存在しており、コマンド名や PATH の問題に切り分けられる。python -m pip でも No module named pip になる場合は、pip 本体がその Python に入っていない。

よくある原因

  1. pip3 のみ存在: 多くの Linux / macOS では pip ではなく pip3 だけが用意されている
  2. PATH 未設定: pip の実体(Windows は Scripts\pip.exe、Unix 系は bin/pip)が PATH に無い
  3. pip 本体が未導入: Debian / Ubuntu のシステム Python は pip を同梱せず、python3-pip パッケージが別途必要
  4. 環境の取り違え: venv を activate しておらず、別の Python 環境で探している

解決策

1. python -m pip で呼ぶ

python -m pip --version
# python コマンドが無い環境では
python3 -m pip --version

python -m pip は「いま実行している Python に紐づく pip」を確実に呼び出せるため、PATH やコマンド名の揺れの影響を受けない。
公式も この呼び方を推奨している

2. ensurepip で導入する

python -m ensurepip --upgrade

No module named pip と出る場合は pip 本体が無いので、標準ライブラリの ensurepip でブートストラップする。

3. OS パッケージで導入する

sudo apt install python3-pip

Debian / Ubuntu のシステム Python では ensurepip が無効化されていることがあり、その場合は OS パッケージから導入する。

4. 環境と実体を確認する

which pip pip3        # Windows: where pip
python -c "import sys; print(sys.executable)"

venv を使っているなら activate を忘れていないか確認する。
activate 後は venv 内の pip が PATH の先頭に来るため、名前の問題はそもそも起きにくくなる。

この記事は役立ちましたか?