Python Apple Silicon - eiichiromomma/CVMLAB GitHub Wiki
Python) Apple Silicon
(当初はx86_64な環境が優位でhomebrewをpyenvを無理矢理x86_64で使う方法が推奨されたりしていたが,現状Apple Silicon向けのPythonでほぼ困らない。とは言え特殊なパッケージは相変わらずx86_64のみでarm64なPythonで使おうとしても
have 'x86_64', need 'arm64e' or 'arm64'
みたいな感じでエラーが出るときの対処法。
準備するPython
アーキテクチャを切り替える必要があるので要Rosetta 2。
softwareupdate --install-rosetta --agree-to-license
でインストールできる。
公式ページから使いたいバージョンのuniversal2 installerがあるものをダウンロード・インストールする。
/Library/Frameworks/Python.framework/Versions
以下にインストールされるのでそれを使う。
例えば3.12を入れた場合
arch -x86_64 /Library/Frameworks/Python.framework/Versions/3.12/bin/python3
としてPythonのインタプリタで
import platform
platform.machine()
とすれば
'x86_64'
が出てくる。毎度これをやるのが面倒なのでvenvを使う。
venvでx86_64仮想環境
適当な場所でvenvを使って仮想環境を作るだけで済む
arch -x86_64 /Library/Frameworks/Python.framework/Versions/3.12/bin/python3 -m venv ENV
source ENV/bin/activate
ls -l ENV/bin/python3.12
ENV/bin/python3.12 -> /Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12
となっており,一旦仮想環境を作ってしまえば長いパスは付けずに使えるようになるが,arch -x86_64
は必要なので,ipythonを入れてしまってあとはpipなりもipython上から使ってしまうのが一番気楽な運用になる。
arch -x86_64 ./ENV/bin/python3 -m pip install -U pip ipython
arch -x86_64 ./ENV/bin/python3 -m IPython