M1 Macbook Air の Python 環境構築備忘録

# はじめに
2021年3月6日に Apple の認定整備済製品に M1 Macbook Air が販売されているのを発見。
これまで Macbook Pro 2016 を使っていましたが、これは子供にあげる事を言い訳にし購入に踏み切りました。出来るだけ Apple M1 に対応したソフトをインストールするため、色々なサイトを調査し、実行してみた備忘録です。二番煎じの記事ですが、何かのお役に立てばと思い共有いたします。

# Homebrew のインストール

Apple M1 に対応した Homebrew 3.0 がリリースされたとの事。リンクにあるコマンドをコピーして実行するだけでした。

[https://brew.sh/index_ja](https://brew.sh/index_ja)

```python
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
![スクリーンショット 2021-03-09 20.37.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/ba2edabb-8811-95d0-c483-8bc7f7470319.png)

途中、一度だけリターンし、問題なくインストール完了。

![スクリーンショット 2021-03-09 20.46.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/447d9666-aeff-d2d2-f097-ac31a99ca19e.png)

ただし Path が通っていない Warning が出ており、リコメンドに従って Path を通します。

```console
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jb-5/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```

![スクリーンショット 2021-03-09 21.42.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/21cd272a-6e3b-27eb-8587-848ca506b0fa.png)

2021/3/12 追記：
macOS Big Sur を 11.2.3 に更新したところ、git のパスが通っていないエラーが発生。

```
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
```
[macOSアップデート後の『xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)...』の対処法](https://qiita.com/nishina555/items/e23d73067a5cac182a63)
[Gitコマンドでxcrun: errorが出た時の対処](https://qiita.com/ss_33_sss/items/7e026bbbc7e42db88da7)
[gitコマンドを実行したら「xcrun: error: invalid active developer path」というエラーが出た時の対処法](https://qiita.com/kooohei/items/6aada548eeb785dd2c91)


によると OS アップデートするとよくある事らしいです。Xcode Command Line Tool をインストールして解決。

```python
xcode-select --install
```
![スクリーンショット 2021-03-12 22.07.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/651b8181-84d2-3ff7-5ca2-7061e986c19c.png)

# Python のインストール

[https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html](https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html)

[M1 macOS で python + numpy/scipy/pandas/matplotlib/jupyterlab 環境構築のメモ(2020/12/24 時点)](https://qiita.com/syoyo/items/6ad890c8a902d02d8c5a)

[TensorFlow 2.4 on Apple Silicon M1: installation under Conda environment](https://towardsdatascience.com/tensorflow-2-4-on-apple-silicon-m1-installation-under-conda-environment-ba6de962b3b8)

によると miniforge を使えばライブラリを含め arm64 版がインストール出来るとの事。
下記コマンドで無事インストール完了。

```python
/opt/homebrew/bin/brew install miniforge
```
miniforge インストール後、下記コマンドで初期設定しました。

```python
conda init zsh
```

次に、conda を使って仮想環境作成。ここでは例として py39 とします。

```python
conda create -n py39  python=3.9
conda activate py39
```

これで無事 python3.9 が使える環境が出来ました。
![スクリーンショット 2021-03-09 23.17.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/6a72a626-54d5-47d7-4dd9-9aeccaca8f9e.png)

あとは必要に応じてライブラリを追加しています。

```python
conda install numpy
conda install pandas
conda install matplotlib
conda install scipy
conda install jupyter
conda install jupyterlab
conda install jupyterthemes
jt -t monokai -f fira -fs 11 -nf ptsans -nfs 11 -N -kl -cursw 5 -cursc r -cellw 95% -T
```

無事、jupyter notebook、jupyter-lab を起動し Python を実行することが出来ました。

2021/3/12 追記：
Jupyter Notebook の extension をインストールしようとしましたが出来ませんでした。
Notebook のバージョンが新しいためと思われますが未解決です。

参考サイト：
[最新のJupyter Notebookとnbextensionsの組み合わせでうまく動かない場合の解決法](https://qiita.com/SolKul/items/451322509e80db8e7953)

コマンド

```python
conda install -y -c conda-forge jupyter_contrib_nbextensions
```
エラー画面：
![スクリーンショット 2021-03-12 21.10.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/852498/85a3bf52-c785-ab22-9e5f-1d54d26df7be.png)

解決策を見つけたら、追記いたします。
それにしても M1 Mac は速い！いい買い物しました！