MacのPythonをバージョンアップさせてみた

Pythonをあまり使ったことがない初心者ですが、諸事情でMAC OS上でPythonを利用とおもったところ、バージョンが古かったのでバージョンアップしてみました。
なお、本件の前提としてパッケージ管理システムHomebrewがインストールされていることが前提となっています。

意外とめんどくさいバージョンアップ?

さきほども言いましたとおりPython超初心者なので、単純にHomebrewでインストールするだけでしょとおもっていましたが、意外とめんどくさかったです。(実はわかってなかっただけですが。)

1.Homebrew でPythonをインストール

まず、以下のとおり、brew install pythonコマンドでインストールをしてみることにしました。(このときはデフォルトでpythonがインストールされているとは知らず。。)

その後、Python -Vコマンドで確認すると、2.7.16との表示がでましたが、どうも最新にはなってない模様です。(この2.7.16が、Catalina 10.15.1のデフォルトのようです。この後、理由が判明。)

2.pyenv でPythonをバージョンアップ

そこで、今度はPythonのバージョン管理ツールと思われるpyenvコマンドを使って、Pythonをバージョンアップさせることにしました。
ちなみに、pyenv も上図のとおり、Homebrew からインストールできます。

pyenv をインストールした後、.bash_profileを以下のとおりホームディレクトリに作成し、sourceコマンドで有効化します。

% cat .bash_profile
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”

% source ~/.bash_profile

その後、pyenv install –listコマンドで利用可能なPythonのバーションを確認します。

上図のとおりPythonのバージョンがずらずらと表示されるので、その中から最新で安定しているとおもわれるものを選んで pyenv installコマンドでインストールします。今回は、3.8.3をインストールしました。

その後、pyenv versionsコマンドでバージョンを確認すると、system(たぶん、systemにデフォルトでインストールされているものの意味)に*印がついていたので、pyenv globalコマンドで3.8.3に切り替え、再度、Python -Vを打ってみたのですが、変わらずでした。

3.環境変数の見直し

どうも調べたところ、環境変数が足りないらしいことに気がついた為、以下の行を.bash_profileに追加し、再度、sourceコマンドで有効化しました。

export PATH=”$HOME/.pyenv/shims:$PATH”

その後、再度 Python -Vコマンドで確認すると、バージョンが上がっていることを確認できました!

どうも、$HOME/.pyenv/shims ディレクトリ配下に新しいバージョンのpythonが入っていたようで、そこにPathがなかっただけみたいですね。

結論

インストール方法によるpythonコマンドの保存先の違いは以下のとおりです。

Mac OSプレインストール・・・/usr/local/bin配下
Homebrewでインストール・・・/usr/local/bin配下
pyenvでインストール・・・$HOME/.pyenv/shims配下
 ※シンボリックリンクは/usr/local/opt/python/libexec/bin配下

結局、Mac OSに3つもPythonを入れてしまったようです。。。