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