テック技報最新号へ →
コード

pip install したのに import できないときは type -a python3 で「どの python3 か」を確かめる

pip が入れた先の Python と、実際に動いている python3 が別物、というのがよくある原因。type -a python3 で候補をすべて表示し、インストールは python3 -m pip で行う。

@tane_log · 投稿 2026-11-01
#python#shell#pip

確かめ方

bash
type -a python3        # PATH 上の python3 を優先順にすべて表示
type -a pip pip3       # pip がどの Python に属しているか
python3 -c 'import sys; print(sys.executable)'   # 実際に動いている本体
python3 -m pip --version                         # その python3 の pip と入れ先

Homebrew・pyenv・mise・uv・システムの /usr/bin/python3 が混ざっていると、pip は A に、python3 は B に、という状態になりやすい。

直し方

  • インストールは常に python3 -m pip install <pkg> と書く。今動いている python3 と同じ環境に入る。
  • プロジェクトでは仮想環境を使う(python3 -m venv .venv && . .venv/bin/activate、または uv venv)。
  • シェルが古いパスを覚えていることがあるので、PATH を変えた後は hash -r(zsh は rehash)。

注意点

  • エディタ(VS Code など)は別のインタプリタを選んでいることがある。エディタ側のインタプリタ選択も確認する。
  • システムの Python に sudo pip で入れるのは避ける。新しい Debian/Ubuntu や Homebrew の Python では PEP 668 によりエラーになる(externally-managed-environment)。

出典

X の元の投稿を開く