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

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

Homebrew を使って、Python 3.9 をインストールしたときの設定諸々 〜インストール先が「/opt/homebrew/bin」になってるよ!!〜

はじめに(2022年1月アップデート版)

Homebrewで、Python3をインストールする際の諸設定をまとめてみました。

この記事では、Anacondaを使わずに、 Homebrewでインストールして、ターミナル上から、Python3をPyhonコマンド、pip3をpipコマンドとして使うことを目指しています。

Python系のIDEは重たくて使いたくないという人や、非Anaconda派に向けて書いています。

実際、私は、PythonもRStudio上でコード書いたりして実行している派ですけども。

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

実行環境

Macの実行環境は、Mac10.15です。

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

Homebrewのインストールについては過去の記事を参照のこと。

skume.net

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

まずは、Pythonのバージョンを検索してみます。

brew search python | grep "python@"
#python@3.10
#python@3.7
#python@3.8
#python@3.9

検索したところ(2022年1月17日現在)、python 3.7、3.8、3.9、3.10がラインナップとして、インストールできるようです。

それでは、バージョンを指定せずに、pythonをインストールしてみます。

brew install python

#・・・
#==> python@3.9
#Python has been installed as
#  /opt/homebrew/bin/python3
#
#Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
#`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
#  /opt/homebrew/opt/python@3.9/libexec/bin
#
#You can install Python packages with
#  pip3 install <package>
#They will install into the site-package directory
#  /opt/homebrew/lib/python3.9/site-packages
#
#tkinter is no longer included with this formula, but it is available separately:
#  brew install python-tk@3.9
#
#See: https://docs.brew.sh/Homebrew-and-Python

Python 3.9が無事にインストールできました。

どうもHomebrewの仕様が変わって、、、/opt/homebrew/binのパスに、 インストールしたコマンドラインが入れられるみたいですね。

これで完結すると楽なんだけど・・・つぎに、Pythonパスを設定していきます。

Pythonパスを確認する

#パスの確認
which python
#/usr/bin/python

#バージョン確認
python -V
#Python 2.7.16

#パスの確認
which python3
#/opt/homebrew/bin/python3

#バージョン確認
python3 -V
#Python 3.9.10

このように、Pythonでは、/usr/binが参照されて、 python3では、/opt/homebrew/binが参照されるというおかしなことになっています。 以前は、、Python3が、brewでインストールされたときには、 /usr/local/bin/Python3となっていましたが、どうも仕様が変わったぽいです。

余談ですが、そろそろ、MacのPython2はパソコン内の亡霊となりつつありますね。

念の為、/usr/local/binにある、pythonとpipの名前が付いてるものを表示させてみます。

ls /usr/local/bin | grep "python"

ls /usr/local/bin | grep "pip"

/usr/local/binにはインストールされなくなるので、 上記のコマンドでは何も表示されなくなります。

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

変更するファイルは、/etc/paths なので、それを変更することになります。

以下のコマンドで、修正を開始します。

vimコマンドをsudo実行して、パスワードを入力します。

sudo vim /etc/paths

ファイルが表示されたら、

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

となっているところを

/opt/homebrew/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

というように、/opt/homebrew/binが一番上にくるように変更します。

これによって、上から順に、 優先度が高くなって、ファイルが先に読まれることになります。

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

qiita.com

qiita.com

/opt/homebrew/binのエイリアス名を変える

python3、python3-config、pip3のエイリアス名を変えるために、 以下の3行のmvコマンドを実行します。 これで、ファイル名の変更をおこないます。

#エイリアス名の変更
mv /opt/homebrew/bin/python3 /opt/homebrew/bin/python
mv /opt/homebrew/bin/python3-config /opt/homebrew/bin/python-config 
mv /opt/homebrew/bin/pip3 /opt/homebrew/bin/pip

ここで、一度、ターミナルを終了して、再度立ち上げます。

そうすると、pythonのパスが変わっているはずです。 パスを確認していきましょう。

#パス確認
which python
#/opt/homebrew/bin/python

#バージョン確認
python -V
#Python 3.9.10

次に、/opt/homebrew/binの関連ファイルを確認してみます

ls /opt/homebrew/bin | grep "python"
#python
#python-config
#python3.9
#python3.9-config

ls /opt/homebrew/bin | grep "pip"
#pip
#pip3.9

お疲れ様でした。 これで諸設定は、OKです。

まとめ

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

今更ながら、Pythonのパスが、馴染みの/usr/local/binから、 /opt/homebrew/binという新たなファイルパスに変わっていて、 ちょっと驚きました。

Python インストールの関連記事

skume.net

skume.net