Skip to content

zsh: command not found: python エラーの解決方法 (macOS Monterey)

問題の概要

macOS Monterey 12.3以降のアップデート後、Pythonの実行時に zsh: command not found: python エラーが発生する問題が報告されています。これは主に以下の環境で発生します:

  • macOS Monterey 12.3以降
  • Python 3.x
  • Atomエディタとatom-python-runパッケージ
  • zshシェル環境

重要な背景

AppleはmacOS Monterey 12.3でシステムにプリインストールされていたPython 2.7を削除しました。これにより、以前は python コマンドで実行できていたスクリプトやツールが機能しなくなりました。

根本原因

このエラーの主な原因は、以下の2点です:

  1. Python 2.7の削除: macOSからシステムのPython 2.7が完全に削除された
  2. コマンド名の不一致: 多くのスクリプトやツールが python コマンドを呼び出すが、現在のPython 3は python3 としてインストールされる

解決方法

以下の解決策からお使いの環境に合った方法を選択してください。

方法1: エイリアスの設定 (推奨)

最も簡単で安全な方法は、.zshrcファイルにエイリアスを追加することです。

bash
# 現在のPython 3のパスを確認
which python3

# エイリアスを追加
echo "alias python=/usr/bin/python3" >> ~/.zshrc

# 変更を適用
source ~/.zshrc

パスの確認

システムによってPython 3のパスが異なる場合があります。以下のコマンドで正確なパスを確認してください:

bash
which python3

方法2: Homebrewを使用したPythonのインストール

Homebrewを使用してPythonを管理する方法です。

bash
# HomebrewでPythonをインストール
brew install python

# シンボリックリンクを作成
sudo ln -s /usr/bin/python3 /usr/local/bin/python

方法3: pyenvによるPythonバージョン管理

複数のPythonバージョンを使い分けたい場合はpyenvが便利です。

bash
# pyenvをインストール
brew install pyenv

# 依存関係のインストール
brew install openssl readline sqlite3 xz zlib tcl-tk
bash
# 利用可能なバージョンを確認
pyenv install --list

# Python 3.10.6をインストール
pyenv install 3.10.6

# グローバルバージョンを設定
pyenv global 3.10.6

# pyenvをシェルに統合
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

方法4: python3コマンドの直接使用

一時的な解決策として、すべてのPythonコマンドを python3 に置き換える方法もあります。

bash
# 従来のpythonコマンドの代わりに使用
python3 --version
python3 script.py

Atomエディタでの設定

atom-python-runパッケージを使用している場合、パッケージ設定でPythonの実行パスを明示的に指定する必要があります。

  1. Atom → Preferences → Packages → atom-python-run → Settings
  2. "Command to run python" を python3 に変更
  3. "Command to run python with arguments" を python3 -u に変更

トラブルシューティング

パスの確認

Pythonが正しくインストールされているか確認するには:

bash
# Python 3の場所を確認
which python3

# バージョンを確認
python3 --version

# パス環境変数を確認
echo $PATH

インストールの確認

Pythonが正しくインストールされているか確認:

bash
# Homebrew経由でインストールした場合
brew list python

# 公式インストーラーを使用した場合
ls /Applications/Python*

注意点

システムPythonの置き換えは避ける

システムの /usr/bin/python を直接変更するのは避けましょう。他のシステムツールが影響を受ける可能性があります。

永続的な解決策

エイリアスの設定やpyenvの使用は、再起動後も設定が保持される永続的な解決策です。

まとめ

macOS Montereyでの zsh: command not found: python エラーは、以下のいずれかの方法で解決できます:

  1. エイリアスの設定 - 最も簡単で安全
  2. pyenvの使用 - 複数バージョンの管理に便利
  3. 明示的なpython3コマンドの使用 - 一時的な解決策

おすすめは方法1のエイリアス設定で、これにより既存のスクリプトやツールを変更することなくPython 3を使用できます。