Posted at

MacOS High Sierraでpythonコマンドのバージョンをpython3にする

More than 1 year has passed since last update.


Macでpythonコマンドでpython3を利用する

macを買ってはじめに設定することの一つです。


動機

python2系は2020年にEnd of Lifeを迎え、メンテナンスされなくなります。新規に利用する際にはよほどの理由がない限りはpython3系を利用するのが良いでしょう。

一方、2018年現在Macbook Proを購入するとデフォルトではpython2系で実行されます。いちいちコマンドでpython3と打つのは面倒臭いため、macを新調したらpythonコマンドでpython3を呼ぶように最初に設定しておきます。


環境

手元の環境は以下のMacOSですが、Mojaveでもpython2.7がデフォルトで呼ばれるため有効です。(そろそろバージョンアップしよう)

$ sw_vers

ProductName: Mac OS X
ProductVersion: 10.13.3
BuildVersion: 17D47


バージョンの確認


$ python --version
Python 2.7.10
$ python3 --version
Python 3.6.5


対処方法

pythonを呼んだ時にpython3が呼ばれるようにaliasします。


$ alias python=python3
$ python --version
Python 3.6.5


恒久化方法

~/.bashrc にaliasコマンドを記載しておくと、対話シェルを開く際に毎回aliasコマンドが実行されるため、何も気にしなくてもpython3が呼ばれるようになります。

echo 'alias python=python3' >> ~/.bashrc


その他


aliasは絶対Pathで書かない

だいたいなんでも絶対Pathで記述した方が良いと思って以下のように書いていると、virtualenvで意図しない動作になります。


悪い例

$ alias python=/usr/local/bin/python3