2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macOS に 新しくPython を入れたのに 古いVersion が使われる原因と解決方法

Last updated at Posted at 2026-01-25

macOS に Homebrew で Python 3.11 を入れたのに、
python --version が 3.9.6 のままで困りました。
この記事では、その原因と「初心者でも安全に解決する方法」を解説します。
コマンドをそのまま実行すれば解決できる内容です。

はじめに

macOS に Homebrew を使って Python 3.11 をインストールしたのに、次のような状況で古いVersionのままでハマりました。

1) python 3.11 インストール

$ brew install python@3.11

2) python Version 確認

Versionは、古い3.9.6のまま。。。

$ python --version
  Python 3.9.6
  
% which python3
    /usr/bin/python3

3) python 3.11 インストール確認

/opt/homebrew/bin/にpython 3.11にインストールされてる

% ls -l /opt/homebrew/bin/python3.11
  lrwxr-xr-x  1 shirok  admin  46 Jan 25 16:38 /opt/homebrew/bin/python3.11 -> ../Cellar/python@3.11/3.11.14_2/bin/python3.11

「Python 3.11 は入っているのに、なぜ Python 3.9 が使われているのか?」

  • なぜこの問題が起きるのか
  • どうやって確認すればいいのか
  • 正しい解決方法は何か

を順番に解説します。


結論(最初に)

Python 3.11 は正しくインストールされているが、python コマンドが別の Python(3.9)を参照しているだけです。

macOS では
👉 「インストールされている Python」と「実際に使われる Python」は別物
になることがよくあります。


なぜこんなことが起きるのか?

macOS には複数の Python が同時に存在できる

macOS では、次のように 複数の Python が共存できます。

  • macOS に最初から入っている Python
  • Homebrew でインストールした Python
  • 過去に別の方法で入れた Python
  • 仮想環境(venv)用の Python

そのため、単に Python をインストールしただけでは
「どの Python が使われるか」は決まりません


python コマンドの正体

ターミナルで実行している

python

python3

は、PATH(環境変数)に登録されている順番で Python を探しています。

つまり:

先に見つかった Python が使われる

という仕組みです。


今回の状況を整理

今回の環境では以下のようになっていました。

  • Python 3.11
    👉 /opt/homebrew/bin/python3.11 に存在(Homebrew)
  • python コマンド
    👉 PATH の都合で Python 3.9.6 を参照

結果として、

Python 3.11 は「存在する」
でも python では「使われていない」

という状態になります。


現在の状況を確認する方法

① 今使われている Python を確認

python --version
Python 3.9.6

この表示が出ていれば、今は Python 3.9 が使われています。


② Python 3.11 がどこにあるか確認

which python3.11
/opt/homebrew/bin/python3.11

これが表示されれば、Python 3.11 は正しくインストール済みです。


「じゃあどうすればいいのか?」

一番おすすめの解決策:仮想環境(venv)を使う

macOS では、Python の切り替えは仮想環境(venv)で行うのが正解です。

理由は:

  • システム Python を壊さない
  • プロジェクトごとに Python バージョンを固定できる
  • pip で入れたライブラリが混ざらない

初心者ほど venv を使った方が安全です。


Python 3.11 で仮想環境を作成する

① Python 3.11 を指定して venv を作る

/opt/homebrew/bin/python3.11 -m venv venv
  • -m venv:仮想環境を作成
  • venv:仮想環境のディレクトリ名(名前は何でもOK)

② 仮想環境を有効化する

source venv/bin/activate

有効化されると、ターミナルの表示が変わります。

(venv) $

③ Python のバージョンを確認

python --version
Python 3.11.x

👉 ここで 3.11 になっていれば成功


pip install が失敗していた理由

Python 3.9 を使っていると、次のようなエラーが出ることがあります。

Requires-Python >=3.10
No matching distribution found

これは、

「このライブラリは Python 3.10 以上でしか使えません」

という意味です。

Python 3.11 の仮想環境を使えば、問題なくインストールできます。


正しいライブラリのインストール方法

仮想環境を有効化した状態で、必ずこの形で実行します。

python -m pip install -r requirements.txt

ポイント:

  • pip ではなく python -m pip
  • 今使っている Python に紐づいた pip が使われる

よくある失敗例

❌ 仮想環境を有効化せずに実行

pip install -r requirements.txt

→ システム Python にインストールされる
→ バージョン不整合でハマる


まとめ

  • Python 3.11 は「入れただけ」では使われない
  • macOS では複数の Python が共存するのが普通
  • python コマンドは PATH に依存する
  • Python 3.11 + venv が最も安全で確実
  • pip は「今使っている Python」に紐づく

おわりに

この問題は macOS + Python 初心者が必ず一度はハマるポイントです。
逆に言えば、ここを理解できると Python 環境構築が一気に楽になります。

同じことで困っている人の助けになれば幸いです。

■ 参考

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?