実は、macOSには標準で既にPythonがインストールされていますが、古いバージョンがインストールされている場合が多く、新しいPythonをインストールする必要がある場合があります。
ここでは、HomeBrew と Pyenv を活用したPythonをインストールする手順を紹介します。
因みに、ボクの環境は、「macOS Sonoma(バージョン 14.6.1)」です。
macOS ~ % sw_vers
ProductName: macOS
ProductVersion: 14.6.1
BuildVersion: 23G93
準備
まず、Pythonがインストールされているか、確認します。
macOS ~ % python --version
インストールされていない場合は、以下のようになります。
macOS ~ % python --version
zsh: command not found: python
インストールされていれば、以下のようにバージョン番号がプリントされます。
macOS ~ % python --version
Python 3.9.6
上記の時点で実行した場合、「3.9.6」ですが、macOSのバージョンによって多少異なると思います。
Pythonのバージョンの1桁目が「2」のものを「2系」、「3」のものを「3系」と呼ばれています。
「2系」と「3系」では、異なる部分が多く、必要なバージョンをインストールしましょう。
Homebrew とは?
Homebrewは、macOS上で動作するパッケージ管理システムで、このHomebrewを用いて様々なパッケージをインストール / アンインストール / アップデートすることができます。
基本的なコマンド
操作 | コマンド |
---|---|
インストール | brew install <パッケージ名> |
アンインストール | brew remove <パッケージ名> |
アップデート | brew upgrade <パッケージ名> |
pyenv
pyenvは、Pythonの複数バージョンを管理し、必要に応じて簡単に切り替えることができるツールです。これにより、異なるプロジェクトで異なるバージョンのPythonを使用する場合でも、環境を簡単に整えることができます。
基本的なコマンド
操作 | コマンド |
---|---|
複数バージョンのPythonインストール | pyenv install <バージョン> |
バージョンの切り替え | pyenv global <バージョン> または pyenv local <バージョン> |
インストール可能なバージョンのリスト表示 | pyenv install –list |
使い方例
操作 | コマンド |
---|---|
pyenvのインストール | curl https://pyenv.run | bash |
特定のバージョンのPythonをインストール | pyenv install 3.8.10 |
デフォルトのPythonバージョンを設定 | pyenv global 3.8.10 |
Homebrew
brewがインストールされているか、確認します。
macOS ~ % $ brew -v
インストールされていれば、以下のようにバージョン番号がプリントされます。
macOS ~ % brew -v
Homebrew 4.3.19
インストールされていない場合は、以下のようになります。
macOS ~ % $ brew -v
zsh: command not found: brew
インストール
以下のコマンドを実行します。
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”noru@Mac-mini-M2-Pro ~ % $ brew -v
macOS ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"noru@Mac-mini-M2-Pro ~ % $ brew -v
以下のように表示されれば、インストール完了です。
mac ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew
==> The following new directories will be created:
/opt/homebrew/bin
/opt/homebrew/etc
/opt/homebrew/include
/opt/homebrew/lib
/opt/homebrew/sbin
/opt/homebrew/share
/opt/homebrew/var
/opt/homebrew/opt
/opt/homebrew/share/zsh
/opt/homebrew/share/zsh/site-functions
/opt/homebrew/var/homebrew
/opt/homebrew/var/homebrew/linked
/opt/homebrew/Cellar
/opt/homebrew/Caskroom
/opt/homebrew/Frameworks
Press RETURN/ENTER to continue or any other key to abort:
しばらく経つと、インストールが完了しますので、以下のコマンドでインストールされたことを確認します。
M1 / M2 Macの場合
以下の2つのコマンドを実行してください。
macOS ~ % echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
macOS ~ % source ~/.zshrc
インストールされたか確認します。
macOS ~ % brew -v
Homebrew 4.3.19
“Homebrew”に続いて、バージョン番号がプリントされれば、インストール完了です。
pyenv
pyenvがインストールされているか、確認します。
macOS ~ % $ pyenv -v
インストールされていれば、以下のようにバージョン番号がプリントされます。
macOS ~ % pyenv -v
インストールされていない場合は、以下のようになります。
macOS ~ % $ pyenv -v
zsh: command not found: pyenv
pyenv は、前出のHomebrewを用いてインストールします。
インストール
brew install pyenv
以下のような画面が表示されれば、インストール完了です。
==> Pouring openssl@3--3.3.2.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/Cellar/openssl@3/3.3.2: 6,984 files, 32.5MB
==> Installing pyenv dependency: pkg-config
==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/manifests/0.29.2_3
Already downloaded: /Users/noru/Library/Caches/Homebrew/downloads/ac691fc7ab8ecffba32a837e7197101d271474a3a84cfddcc30c9fd6763ab3c6--pkg-config-0.29.2_3.bottle_manifest.json
==> Pouring pkg-config--0.29.2_3.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pkg-config/0.29.2_3: 12 files, 679.3KB
==> Installing pyenv dependency: readline
==> Downloading https://ghcr.io/v2/homebrew/core/readline/manifests/8.2.13
Already downloaded: /Users/noru/Library/Caches/Homebrew/downloads/aa1afa38997a2866d91c81fdda8b36d436cd4ea7a82aed07d13c83c56eb3460e--readline-8.2.13.bottle_manifest.json
==> Pouring readline--8.2.13.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/Cellar/readline/8.2.13: 51 files, 1.7MB
==> Installing pyenv
==> Pouring pyenv--2.4.12.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pyenv/2.4.12: 1,230 files, 3.5MB
==> Running `brew cleanup pyenv`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
macOS ~ %
インストールされたか確認します。
macOS ~ % pyenv -v
pyenv 2.4.12
“pyenv”に続いて、バージョン番号がプリントされれば、インストール完了です。
環境設定
インストールができたら、以下の4つのコマンドを実行し、環境設定を行います。
macOS ~ % echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
macOS ~ % echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
macOS ~ % echo 'eval "$(pyenv init -)"' >> ~/.zshrc
macOS ~ % source ~/.zshrc
macOS ~ %
Python
pyenv では、複数のバージョンのPythonが利用することができます。
まず、どのようなバージョンが利用できるか以下のコマンドで確認します。
pyenv install –list
実行すると、以下のように利用できるバージョンの一覧がプリントされます。
macOS ~ % pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5.0
2.5.1
インストール
今回、ボクは3.10.11のバージョンをインストールしますので、次のコマンドを実行します。
pyenv install 3.10.11
macOS ~ % pyenv install 3.10.11
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.11.tar.xz...
-> https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tar.xz
Installing Python-3.10.11...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/noru/.pyenv/versions/3.10.11/lib/python3.10/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.10.11 to /Users/noru/.pyenv/versions/3.10.11
インストールされたバージョンの一覧を確認します。
macOS ~ % pyenv versions
* system (set by /Users/noru/.pyenv/version)
3.10.11
macOS ~ %
ここでPythonのバージョンを確認します。
macOS ~ % python --version
Python 3.9.6
インストールしたバージョンではなく、macOSで標準でインストールされているバージョンになっています。
以下のコマンドで、使用するバージョンを切り替えることができます。
pyenv global 3.10.4
このコマンドを発行し、再度Pythonのバージョンを確認します。
macOS ~ % pyenv global 3.10.11
macOS ~ % python --version
Python 3.10.11
これで、Python 3.10.11に設定できました。
では、では♪
コメント