🐍

2025年版 macOSにPython開発環境を構築する(Apple Silicon & Intel Mac両対応)

2025/01/13に公開

はじめに

本記事では、pyenvを使ってmacOSにPython開発環境を構築する手順を説明します。

本手順は、プログラミング環境を一撃で構築する「start-code」の開発にあたり、まとめたものです。
実際の構築の際は、下記リンク先のスクリプトをご活用ください。

https://github.com/hotani3/start-code

システム要件

本手順は、次表のmacOS環境で有効です。
Apple Silicon (M1/M2/M3/M4) Mac、Intel Macの両方に対応しています。

プラットフォーム CPUアーキテクチャー OSバージョン シェル
macOS - ARM64 (Apple Silicon)
- x86_64 (Intel Chip)
- Ventura (13)
- Sonoma (14)
- Sequoia (15)
zsh

Ventura以降なのは、Homebrewのサポートに合わせています。
シェルは、zshの使用を前提としています。

対象 Python バージョン

本手順では、Pythonは3.9.1以上の、3.9〜13を対象としています。
3.9.1以上なのは、PythonでのApple Siliconのサポートに合わせています。

構築手順

以下の構築に掛かる所要時間は、15分程度です(通信環境やマシン性能に依存します)。

ターミナルの起動とシェルの確認

LaunchpadやSpotlightから、ターミナルアプリを起動します。
echoコマンドで、現在のシェルを確認します。

echo $SHELL

次のように、zshと表示されていればOKです。

/bin/zsh

Homebrew インストール

macOSでは、Homebrewからpyenvをインストールすることが推奨されているので、まず最初にHomebrewをインストールします。

Homebrewのインストール途中でパスワードを聞かれるのを避けるため、sudoコマンドでパスワードを事前入力(認証情報をキャッシュ)しておきます。

sudo -v

sudo -vを実行すると、次のようにパスワード入力が促されるので、Macログインユーザーのパスワードを入力してください。
パスワード入力

その後、Homebrewのインストールスクリプトを実行します。
NONINTERACTIVE=1によって、無人インストール(非インタラクティブ)モードとなり、インストール途中での確認キー入力がスキップされます。

NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

ターミナルに以下のようなログが出力されていれば、インストールに成功しています。

==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
echo >> /Users/username/.zprofile
echo 'eval "$(opt/homebrew/bin/brew shellenv)"' >> /Users/username/.zprofile
eval "$(opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
https://docs.brew.sh

Homebrew 環境変数と実行パスの設定

ホームディレクトリの.zprofileファイルに、echoコマンドで以下の1行を追記します。
また、evalコマンドで現在のシェルにHomebrewの環境変数を反映させます。

Apple SiliconとIntel Macでは、brewコマンドのパスが異なることに注意してください。

Apple Silicon Macの場合

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Intel Macの場合

echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"

Homebrew 動作確認

brewコマンドが使えるかどうかを確認します。

brew -v

次のように、Homebrewのバージョンが表示されればOKです。

Homebrew 4.4.14
Homebrew/homebrew-core (git revision 64fad354ec2; last commit 2024-12-31)
Homebrew/homebrew-cask (git revision 18289341e0f; last commit 2024-12-31)

XZ Utils インストール

Homebrewで、xzをインストールします。

HOMEBREW_NO_INSTALL_CLEANUP=1 brew install xz

ターミナルに以下のようなログが出力されていれば、インストールに成功しています。

Apple Silicon Macの場合

==> Pouring xz--5.6.3.arm64_ventura.bottle.tar.gz
🍺 /opt/homebrew/Cellar/xz/5.6.3: 96 files, 1.9MB

Intel Macの場合

==> Pouring xz--5.6.3.ventura.bottle.tar.gz
🍺 /usr/local/Cellar/xz/5.6.3: 96 files, 1.9MB

pyenv インストール

Homebrewで、pyenvをインストールします。

HOMEBREW_NO_INSTALL_CLEANUP=1 brew install pyenv

ターミナルに以下のようなログが出力されていれば、インストールに成功しています。

Apple Silicon Macの場合

==> Pouring pyenv--2.5.0.arm64_ventura.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pyenv/2.5.0: 1,276 files, 4.1MB

Intel Macの場合

==> Pouring pyenv--2.5.0.ventura.bottle.tar.gz
🍺 /usr/local/Cellar/pyenv/2.5.0: 1,276 files, 4.1MB

pyenv 環境変数と実行パスの設定

ホームディレクトリの.zshrcファイルに、echoコマンドで以下の3行を追記します。
Apple SiliconとIntel Macでは、PYENV_ROOTの値が異なることに注意してください。

Apple Silicon Macの場合

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Intel Macの場合

echo 'export PYENV_ROOT="$HOME/.pyenv_x86"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

pyenv 動作確認

現在のシェルに追記内容を反映させます。

source ~/.zshrc

pyenvコマンドが使えるかどうかを確認します。

pyenv -v

次のように、pyenvのバージョンが表示されればOKです。

pyenv 2.5.0

Python インストール

pyenvで、Pythonをインストールします。

pyenv install 3.12.8

ターミナルに以下のようなログが出力されていれば、インストールに成功しています。

Apple Silicon Macの場合

Installed Python-3.12.8 to /Users/username/.pyenv/versions/3.12.8

Intel Macの場合

Installed Python-3.12.8 to /Users/username/.pyenv_x86/versions/3.12.8

インストール後、pyenvで利用可能なことを確認します。

pyenv versions

pyenv installで指定したバージョンが表示されていればOKです。

* system (set by /Users/username/.pyenv/version)
  3.12.8

Python 動作確認

Python実行環境を、pyenv installでインストールしたバージョンに切り替えます。

pyenv global 3.12.8

最後に、切り替え後のPythonのバージョンを確認します(Vは大文字)。

python -V

pyenv globalで指定したバージョンが表示されていればOKです。

Python 3.12.8

以上で、環境構築は完了です。お疲れさまでした!

注記

pyenvをインストールしてからしばらく経ち、Pythonの最新版をインストールしようとしたときに、pyenvで最新版が見つからないことがあります。
そのときは、次のようにpyenvを更新してから、pyenv installを実行してください。

brew update && HOMEBREW_NO_INSTALL_CLEANUP=1 brew upgrade pyenv

なお、HOMEBREW_NO_INSTALL_CLEANUP=1により、brew installまたはbrew upgrade時のbrew cleanupを抑止し、以下のError: Permission denied @ apply2filesが発生することを回避しています。

https://zenn.dev/akido_/articles/9c6a9ba3bff51b

Discussion