macOS に Python を導入する手順をまとめます。macOS には標準で Python 3 が入っていますが、学習・分析には自前で別の Python を入れるのが基本 です。標準 Python はシステム用途に予約されており、pip install で気軽に汚すと OS 側のトラブル原因になりやすいためです。
本記事では「最短で動かす Homebrew」と、「複数バージョンを切り替えたい場合の pyenv」の 2 通りを示します。Apple Silicon(M シリーズ)特有の注意点もまとめます。
目次
- 方法 A. Homebrew で入れる(最短)
- 方法 B. pyenv で複数バージョンを管理する
- Apple Silicon で起きやすい注意点
- 動作テスト
- よくあるトラブルと対処
方法 A. Homebrew で入れる(最短)
Homebrew は macOS 用のパッケージマネージャです。最短で 3.12 を入れる方法は次の通りです。
Homebrew のインストール
未導入の場合、公式サイトの 1 行コマンドで導入します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"完了後、ターミナルを再起動してから次を確認します。
brew --versionPython 3.12 の導入
brew install python@3.12インストール後、シェルから呼び出すパスを確認します。
which python3.12python3.12 --version/opt/homebrew/bin/python3.12Python 3.12.5Apple Silicon では /opt/homebrew/...、Intel Mac では /usr/local/... 配下が標準位置になります。
python コマンドのエイリアス
python だけで起動できるようにしたい場合は、シェル設定にエイリアスを足します(zsh の場合 ~/.zshrc)。
echo 'alias python=python3.12' >> ~/.zshrcecho 'alias pip=pip3.12' >> ~/.zshrcsource ~/.zshrcただし、本サイトでは プロジェクトごとに venv を作る ことを推奨しています。エイリアスに頼るより、各プロジェクト内で python -m venv .venv を回すほうが事故が起きにくくなります。
方法 B. pyenv で複数バージョンを管理する
pyenv は Python のバージョンをプロジェクト単位で切り替えるためのツールです。3.10 と 3.12 を併用したい場合、機械学習で 3.11 が要求される場合などに便利です。
pyenv のインストール
brew install pyenvシェル設定の追記
zsh を使っている前提で、~/.zshrc に次を追記します。
export PYENV_ROOT="$HOME/.pyenv"[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init - zsh)"追記後はターミナルを再起動するか、source ~/.zshrc を実行します。
Python 本体の導入
導入可能なバージョンの確認とインストールは次のように行います。
pyenv install --list | grep "^ 3.12"pyenv install 3.12.5pyenv global 3.12.5バージョンの確認は次の通りです。
python --version# Python 3.12.5pyenv local 3.12.5 をプロジェクトディレクトリで実行すると、そのフォルダ配下だけ別バージョンを使う、といった運用もできます。
Apple Silicon で起きやすい注意点
1. ネイティブ(arm64)と Rosetta(x86_64)の混在
ターミナル自体が Rosetta 経由で動いているケースがあります。確認は次のコマンドです。
uname -marm64 ならネイティブ、x86_64 なら Rosetta 経由です。後者でインストールすると Homebrew が /usr/local 配下に入り、Apple Silicon 用の /opt/homebrew 配下と混在します。Terminal.app の 「情報を見る」 で「Rosetta を使用して開く」のチェックが外れていることを確認します。
2. ライブラリのビルドエラー
科学計算系ライブラリ(NumPy / pandas / scikit-learn など)はホイール(事前ビルド済みファイル)が用意されているので、通常はそのまま pip install で動きます。古い記事で見かける「brew install openblas が必要」のような対処は、Python 3.12 + 最新 pip ではほぼ不要です。
3. python と python3 が指す先
macOS では python だけだと python3 と紐付かない場合があります。python3 または python3.12 を明示するか、venv 内で python を使う運用が安全です。
python3 --versionpython3.12 --version動作テスト
最後に簡単な動作確認をします。
python3.12 -c "print('Hello, pykabu')"Hello, pykabu仮想環境を作って pandas を入れるところまで通します。
mkdir pykabu-study && cd pykabu-studypython3.12 -m venv .venvsource .venv/bin/activatepip install --upgrade pippip install pandaspython -c "import pandas; print(pandas.__version__)"2.2.3よくあるトラブルと対処
| 症状 | 原因 | 対処 |
|---|---|---|
command not found: python | エイリアス未設定 | python3 または python3.12 を使う、または ~/.zshrc にエイリアス追加 |
| pyenv が反映されない | eval "$(pyenv init - zsh)" の追記漏れ | ~/.zshrc を見直してターミナル再起動 |
pip が SSL エラー | プロキシ環境 / 証明書 | HTTPS_PROXY 環境変数を設定、または社内 IT に相談 |
| ライブラリのビルド失敗 | アーキテクチャ混在 | uname -m で arm64 確認、Rosetta 起動を解除 |
まとめ
- 学習用途なら Homebrew で 3.12 を入れる のが最短
- 複数バージョンを使い分けたい場合は pyenv に切り替える
- macOS 標準の
/usr/bin/python3は 使わない(システム予約) - Apple Silicon では
arm64で動いていることをuname -mで確認する - グローバル環境を汚さないよう、プロジェクトごとに venv を作る運用を徹底する