個人的メモです。
2020-01-27現在、M1 Macではnumpyやpandasのpipでのinstallに問題が発生しているため、その回避のためのworkaroundを書いておきます。
いずれ公式にサポートされ、この記事は不要になると思います。
RosettaでIntel(x86_64)向けバイナリを使う
iTerm2の Open using Rosetta
にチェックを入れて、普通にセットアップするだけ。
参考:https://alexslobodnik.medium.com/apple-m1-python-pandas-and-homebrew-20f14828ccc7
Apple Silicon(osx-arm64)向けバイナリを使う
- homebrew: 最近Apple Silicon対応した。
/opt/homebrew
に入る - python: homebrewで python@3.9 を入れる(Apple Silicon対応)
-
/opt/homebrew/opt/python@3.9/libexec/bin
にpathを通す必要あり
-
- numpy:: homebrewでnumpyを入れる(Apple Silicon対応)
- pandas:
pip install python-dateutil pytz
で依存ライブラリを入れ、pip install cython
を実行した上でpip install pandas --compile --no-binary :all: --no-use-pep517
- pipenv:
pipenv --site-packages
でhomebrew下のpackageを参照できる仮想環境を作る - poetry:
poetry config virtualenvs.in-project true
でプロジェクト下に.venv
を作るようにし、仮想環境を作った上で.venv/pyvenv.cfg
のinclude-system-site-packages
を true にして、homebrew下のpackageを参照できるようにする。numpyとpandasはdependenciesには入れない(入れるとビルドしようとするため)