macOSにPythonをインストールする!

Python

実は、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に設定できました。

noru
noru

では、では♪

コメント

タイトルとURLをコピーしました