概要
とあるニーズでPython3.7系をApple silicon(M1/M2/M3)にインストールした。その際意外と大変だったためメモ。
大変だった理由:
- Python3.7のApple silicon向けpre-buildがなく、x86のものを使う必要がある。
- Python3.7系は2023年にサポート終了しているため、各種パッケージ管理ツールでインストール対象から外れている。
以上から、x86コマンド互換のHomebrewを用意して対処する方針とした。
インストール手順
x86版Homebrewのインストール
$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
画面に指示が出るとおり、/usr/local/bin/brew
にbrewコマンドが用意される。
つまり、通常のApple silicon用brewと共存できる。
x86版用のaliasを用意
共存するために、.bashrcなどにibrewという
別名コマンドを用意する
alias ibrew="arch -x86_64 /usr/local/bin/brew"
これでibrew
コマンドx86系パッケージを使える。
ただし、サポート終了となっているPython3.7は標準brewには含まれていないため、tap
コマンドでリポジトリを追加する。
sashkab/homebrew-pythonというところで古いPythonフォーミュラが提供されているので、それを追加。
$ brew tap sashkab/homebrew-python
これで、ibrew install sashkab/{{package}}とすることでインストール可能に。
Python3.7のインストール
$ ibrew install sashkab/python/python@3.7
これでpython3.7
コマンドがインストールされた。
$ python3.7 -V
Python 3.7.13
他のバージョンのpythonとも共存できる
$ python3 -V
Python 3.12.2
補足:pipのインストール
同様に、python3.7に引き渡せばpip3.7
コマンドが作られる:
$ curl -kL https://bootstrap.pypa.io/get-pip.py | python3.7