MACのインストール/購入直後でもPythonはインストールされていますが、Pythonのバージョンは2系です。Python2系と3系がありどちらもPythonのプログラムを動かすことができますが一部コマンドが異なります。Python関連の書籍でもPython3(3系)を前提に記述されているので本文書ではpyenvを利用してPython3のインストール手順を説明しています。pyenvを利用するとバージョンの異なるPython3を複数インストールできるだけではなくインストールしたバージョンを切り替えて利用することができます。

Pythonのバージョン確認

MACのデフォルトのPythonのバージョンはコンソールからpython -Vコマンドを実行することで確認できます。手元の環境では、2.7.16がインストールされています。


% python -V
Python 2.7.16

Python3のインストール

python3はpyenvを利用してインストールを行います。pyenvのインストールはMACのHomebrewを使って行います。Homebrewはmac OS上で動作するパッケージマネージャーでソフトウェアのインストール、アンインストールをコマンドラインを使って行うことができる便利なツールです。

Homebrewのインストール

Homebrewは他のアプリケーションをインストールする際にインストールしていることもあるのでbrew -vコマンドを実行してインストール済かどうか確認します。下記のようにバージョン情報が表示されていればHomebrewはインストール済なのでインストールする必要はありません。


 % brew -v
Homebrew 2.2.4

Homebrewのインストールや使用方法については下記の文書が参考になります。

HomebrewをインストールするためにHomebrew(https://brew.sh/)の公式サイトにアクセスして赤線のスクリプトをコピーしてください。

Homebrewのトップページ画面
Homebrewのトップページ画面

コピーしたスクリプトをコンソールに貼り付けて実行するとインストールが開始されます。


 % /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールを実行すると途中でXcode Command Line Toolsのインストールの確認が表示されるので、そのまま”Enter”キーを押してください。ログインユーザのパスワードも聞かれるので入力してください。

インストールが完了したら、インストールメッセージに表示されているbrew helpコマンドを実行してみてください。


 % brew help
Example usage:
  brew search [TEXT|/REGEX/]
  brew info [FORMULA...]

brew helpコマンドが実行でき上記のメッセージが表示されたらHomebrewのインストールは完了です。

pyenvのインストール

Homebrewのbrewコマンドを利用してpyenvのインストールを行います。インストールはbrew install pyenvを実行します。


 % brew install pyenv

インストールが完了したら以下のコマンドを実行してインストールされたかどうか確認します。バージョンが表示されたらインストールは完了しています。


 % pyenv --version
pyenv 1.2.16

macOS Catalinaからデフォルトのシェルがbashからzshに変更になっているのでmacOSがCatalinaの場合は注意してください。ユーザのホームディレクトリで以下の3つのコマンドを実行します。実行後、ユーザのホームディレクトリ直下に.zshrcファイルが作成されます。


% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc    
% echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
% echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

どのシェルを利用しているかは以下のコマンドで確認できます。この時、bashと表示されたら.zshrcではなくファイル名は.bash_profileを指定します。


% echo $SHELL
/bin/zsh

実行後に.zshrcファイルを開くと以下のように記述されています。echoコマンドを利用せず.zshrcファイルを作成して以下の内容をコピー、貼り付けしても大丈夫です。


export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

.zshrcに設定した内容を設定するために以下のコマンドを実行してください。


% exec zsh
pyenv init -をコンソール上で実行するとパスに.pyenv/shimesが追加されていることが確認できます。
fukidashi

PATHに./pyenv/shimsが追加されていることを確認してください。pyenvではこのshimsへのパスが切り替えの重要な役割を果たします。


% echo $PATH /Users/reffect/.pyenv/shims:/Users/reffect/.pyenv/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin

Python3のインストール

Python3インストールを行う前にpyenvでインストールを行うことができるPythonのバージョンをリスト表示します。本環境では、3.8.1が最新版であることがわかります。3.9-devもありますがこちらは開発版です。環境によって最新版のバージョンは異なります各自の環境に合わせてインストールするバージョンを指定してください。


% pyenv install --list
Available versions:
  2.1.3
  2.2.3
   ・
  3.8.0
  3.8-dev
  3.8.1
  3.9-dev
Python3をダウンロードしてインストールすることも可能です。https://www.python.org/downloads/にアクセスするとインストールできる最新版を確認することができます。
fukidashi

最新版の3.8.1をインストールします。


 % pyenv install 3.8.1

pyenv versionsコマンドでインストールしたバージョンを確認することができます。


 % pyenv versions
* system (set by /Users/reffect/.pyenv/version)
  3.8.1
複数のバージョンをインストールすると複数の情報がversionsコマンドで表示されます。
fukidashi

バージョンを確認したら利用するバージョンを選択します。globalを設定するとデフォルト設定を3.8.1に設定することができます。


 % pyenv global 3.8.1
 % python -V
Python 3.8.1

これでPython3のインストールは完了です。

バージョンの切替方法の確認

pyenvはPythonのバージョンを切り替えることも可能です。他のバージョンをインストールしてバージョンの切り替え方法を確認しておきます。

pyenv install –listを実行し、インストール可能なバージョンを探してインストールします。ここでは3.7.6をインストールします。


% pyenv install 3.7.6

versionsコマンドを実行するとインストールした3.7.6が表示されます。


% pyenv versions
  system
  3.7.6
* 3.8.1 (set by /Users/reffect/.pyenv/version)

pyenv globalで新規にインストールしたバージョンを指定するとバージョンの切替が行えることが確認できます。


% pyenv global 3.7.6
% python -V
Python 3.7.6

whichコマンドを使うと現在のpythonのパスも確認できます。


% which python
/Users/reffect/.pyenv/shims/python

またgloblalを利用しなくても.pyenvにあるversionファイルを直接書き換えることでバージョンを変更を行うこともできます。