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を入れてしまったようです。。。