😸
Python3.7系 をM1 Macで動かす
はじめに
M1チップが搭載されたMacはPython3.7系がそのままでは動作しない。例えばpyenv
を使用してpython3.7系をインストールしても、エラーが発生する。
プロジェクトによっては、古いPythonのバージョンを使用することもあるため、M1 MacでPython3.7系を動かす方法をまとめた。3.7系よりも過去のバージョンについては確認していない。
事前準備
- pyenvのインストール
やること
- Install x86 brew
$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Install Python 3.7
$ arch -x86_64 /usr/local/bin/brew install python@3.7
# output
python@3.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have python@3.7 first in your PATH, run:
echo 'export PATH="/usr/local/opt/python@3.7/bin:$PATH"' >> ~/.zshrc
For compilers to find python@3.7 you may need to set:
export LDFLAGS="-L/usr/local/opt/python@3.7/lib"
- outputの通りに設定
$ export LDFLAGS="-L/usr/local/opt/python@3.7/lib"
$ echo 'export PATH="/usr/local/opt/python@3.7/bin:$PATH"' >> ~/.zshrc
- ibrewのaliasを登録?
$ alias ibrew='arch -x86_64 /usr/local/bin/brew'
- Add python executable (symlink to python3)
$ ln -s python3 "$(ibrew --prefix python@3.7)"/bin/python
- Symlink x86 Python 3.7 into pyenv
$ ln -s "$(ibrew --prefix python@3.7)" ~/.pyenv/versions/3.7.12
確認
$ pyenv local 3.7.12
$ python -V
Python 3.7.12
$ python -c 'import _ctypes' # works!
さいごに
- 3.7.12のインストールは可能となった
- 3.6系などの過去のバージョンは不明
Discussion