京橋のバイオインフォマティシャンの日常

まずは、データ分析、コマンドラインのメモとして

Homebrew を使って、Python3をインストールしたときの設定諸々

Anacondaは使わずに、 Homebrewでインストールして、Python3をPyhonコマンド、pip3をpipコマンドとして使う。IDEは重たくて使わないという、非Anaconda派に向けて。

私はPythonもRStudio派ですけど。

Homebrew でPython3をインストールする。

実行環境

macOS Catalina (10.15.4)
MacBook Pro (12-inch, 2019, Four Thunderbolt 3 ports)

1. Homebrew で、Python3 をインストールする*1*2

$ brew install python

これで完結すると楽なんだけど・・・

2. Pythonパスを確認する

$ which python
/usr/bin/python
$ python -V
Python 2.7.16

$ which python3
/usr/local/bin/python3
$ /usr/local/bin/python3 -V
Python 3.7.7

あら、Pythonパスは、/usr/bin/pythonが出力される。

この場合、Python3が、brewでインストールされた/usr/local/bin/Python3になっているっぽい。

/usr/local/binにある、pythonとpipの名前が付いてるものを表示してみる。

$ ls /usr/local/bin | grep "python"
python3
python3-config
python3.7
python3.7-config
python3.7m
python3.7m-config

$ ls /usr/local/bin | grep "pip"
pip3
pip3.7

確かに、/usr/local/binがpython3とpip3になっている。

3. 次にやること・・・パスの優先度の変更

変更するファイルは、/etc/paths である。

$ sudo vim /etc/paths

というように、vimコマンドをsudo実行する。

そこで、

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

となっているところを

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

というように、/usr/local/binを一番上に変更する。 これで、/usr/local/binにあるファイルが先に読まれることになる。

vimの使い方は、別サイトを参照のこと。

qiita.com

qiita.com

4. /usr/local/binのエイリアス名を変える

python3、python3-config、pip3のエイリアス名を変える

$ mv /usr/local/bin/python3 /usr/local/bin/python
$ mv /usr/local/bin/python3-config /usr/local/bin/python-config 
$ mv /usr/local/bin/pip3 /usr/local/bin/pip

こうすると、pythonのパスが変わる

$ which python
/usr/local/bin/python
$ python -V
Python 3.7.7

/usr/local/binの関連ファイルを確認してみる

$ ls /usr/local/bin | grep "python"
python
python-config
python3.7
python3.7-config
python3.7m
python3.7m-config
$ ls /usr/local/bin | grep "pip"
pip
pip3.7

これで、OK。。。

まとめ

PCを買い替えるたび、毎回やるのでこのTipsも作ってみた。

*1:2020年5月10日現在、python 3.7.7 がデフォルトインストールとなる。

*2:$マークはコピペしない