【2019年5月】MacBookにJupyter Notebookをインストールする (macOS 10.14.4/Mojave)

# 概要
MacBookを新調したので、macOSにJupyter Notebookを導入する手順をまとめます。
すでに先人の記事がありますが、この手の環境構築はバージョン違いやダウンロード先の更新で動作が変わっていることが多く、先人の記事をそのままなぞることができないケースも多くあります。
少しでも最新の状況での構築実績として記しておきます。

#環境
- macOS 10.14.4 Mojave

# 手順の流れ
1. Xcodeのインストール (※)
2. xcode-select --installの実行 (※)
3. Homebrewをインストール
4. Python3をインストール
5. Jupyter Notebookをインストール
6. Jupyter Notebookの動作確認

## 補足説明
 ※あとから気づいたのですが、「Xcodeのインストール」は、他の記事によるとなくても大丈夫なようです。
私は既にインストール済の状態で開始していたため、入れてあります。
参考；[【Mac】XcodeをまるまるインストールせずにHomebrewをインストール](http://paperface.hatenablog.com/entry/2018/08/11/%E3%80%90Mac%E3%80%91Xcode%E3%82%92%E3%81%BE%E3%82%8B%E3%81%BE%E3%82%8B%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%9B%E3%81%9A%E3%81%ABHomebrew%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9)
また、XcodeのインストールとCommand Line Toolsのインストールはどちらかでよく(XcodeにCommand Line Toolsが含まれる)、かつHomebrewインストール時にCommand Line Toolsがインストールされるそうなので、xcode-select –installも不要なようです。
参考：[【Homebrew】Command Line Toolsのインストールについて](https://sutepulu.com/homebrew-about-command-line-tools-installation/)
つまりHomebrewのインストールスクリプトの実行から開始できるようです。

# 詳細
## Xcodeのインストール
App StoreからXcodeをインストールします。
<img width="1176" alt="00-Xcodeのインストール-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/b2ba4468-07bc-98e1-f28b-5aa30039b999.png">
## xcode-select --installの実行
ｘcode-selectを実行します。

```shell
$ xcode-select --install
```
<img width="1082" alt="01-xcode-select-01--installの実行.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/5e1bf131-718a-0170-553a-cc0350edd289.png">
[インストール]をクリックします。
<img width="601" alt="01-xcode-select-02-インストールダイアログ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/c3415769-dc70-11a4-94e6-53882138b70f.png">
[同意する]をクリックします。
<img width="752" alt="01-xcode-select-03-CommandLineToolsの使用許諾契約ダイアログ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/99cd04d6-0c00-b7a2-e448-621a6543506b.png">
しばらく待ちます。
<img width="610" alt="01-xcode-select-03-インストールダイアログ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/deb12dbe-b172-fa09-f68b-6de3bd5321df.png">
[完了]をクリックします。
<img width="610" alt="01-xcode-select-04-インストール完了ダイアログ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/5fcdfba2-9c63-9741-7b0e-c576ab687fc2.png">

## Homebrewのインストール
Homebrewのサイト([https://brew.sh/index_ja](https://brew.sh/index_ja))を参照し、「インストール」の下にあるスクリプトを実行する。
<img width="1440" alt="02-Homebrewインストール-00-Webサイト.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/4ced29f1-0129-fb82-b74a-2e530a0f6122.png">

```shell
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
スクリプトをコピペして実行します。
<img width="1082" alt="Homebrewインストールコマンドの実行-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/e3a7978d-784d-17ed-fd2e-7c4add8b198a.png">
途中でEnter入力を求められます。
<img width="1082" alt="02-Homebrewインストール-02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/f9452f16-379c-5531-7f59-019149e8a597.png">
途中でパスワード入力を求められます。
<img width="1082" alt="02-Homebrewインストール-03.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/584da6d4-04ca-21e5-3385-0bc4b8acf464.png">
Xcodeのライセンス確認が必要でした。恐らくですが、Xcodeをインストールせずに実施している場合は不要になるかと思います。
<img width="1082" alt="02-Homebrewインストール-04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/55b33dad-0351-1dd8-1f12-c8307f878a1b.png">
Xcode licenseに同意していないというメッセージが表示されました。
Xcodeを起動してライセンスに同意します。
`sudo xcodebuild -license`でコマンドラインで実施する方法もあるようです。
参考：Xcodeのライセンス同意をコマンドラインだけで切り抜ける ([https://qiita.com/tmknom/items/d60084edadfe1b7685ef](https://qiita.com/tmknom/items/d60084edadfe1b7685ef))


[Agree]をクリックします。
<img width="602" alt="02-Homebrewインストール-10-XcodeLicense-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/1eb6a044-d248-eb49-d75d-93c1d1908856.png">
<img width="592" alt="02-Homebrewインストール-10-XcodeLicense-02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/a12c2a59-18e6-1c3a-dcbb-9da7da233784.png">
左上の×ボタンでXcodeを終了します。
<img width="848" alt="02-Homebrewインストール-10-XcodeLicense-03.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/84fb776d-2ba2-ff39-c1c8-48ba6cd3fd4f.png">

再度Homebrewをインストールします。

```shell
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

Enterキーを押下して継続します。
<img width="1082" alt="02-Homebrewインストール-20-再度実行-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/376ba325-479a-24f0-aa27-c259bf01b5ae.png">
しばらく待ちます。
<img width="1082" alt="02-Homebrewインストール-20-再度実行-02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/10ccd768-58bd-abe5-669f-df759eed1dd9.png">

Homebrewのパッケージを最新にアップデートします。 (恐らく最新なので何も起こらないです)

```shell
$ brew update
$ brew upgrade
$ brew doctor
```
<img width="1082" alt="02-Homebrewインストール-20-再度実行-03.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/02bab110-0a0c-a975-c919-4d087ac8de6c.png">


# Python3のインストール

```shell
$ brew install python3
```
<img width="1082" alt="03-Python3インストール-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/67c1829b-8a9f-eb3d-df32-dbacc871a9ef.png">
<img width="1082" alt="03-Python3インストール-02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/702d46b8-c99a-e074-da89-55630eddf168.png">
### pipでインストールされているパッケージの確認
pipはpython3のインストール時に同時にインストールされているそうです。

```shell
＄ pip3 list
```

<img width="1082" alt="03-Python3インストール-03-pipインストールlist.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/053cfead-6c00-0576-4a41-ba1bcd067429.png">


```shell
$ python -V
Python 2.7.10
$ python3 -V
Python 3.7.3
$ pip
-bash: pip: command not found
$ pip3 -V
pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
```

私はたまにうっかり`pip install 〜`と打ってしまい、`command not found`が出てしまうことがあります。正しくは`pip3`です。

## Jupyter Notebookのインストール

```shell
$ pip3 install jupyter
```
<img width="1082" alt="04-jupyterインストール-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/3d3b76f4-82c4-9d78-928f-25e87aec3696.png">

しばらく待ちます。

<img width="1082" alt="04-jupyterインストール-02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/52e39615-6a72-c887-9de5-701b55a01998.png">

## Jupyter Notebookの起動
`jupyter notebook`を実行したディレクトリがHome画面になるので、任意の場所に`mkdir`でディレクトリを作成し、当該ディレクトリに移動してから`jupyter notebook`を実行すると、他のファイルと混ざらずに良いと思います。
私はユーザディレクトリ直下で`mkdir python`し、`cd python`してから`jupyter notebook`しました。

```shell
$ jupyter notebook
```
<img width="1082" alt="05-jupyternotebook起動-01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/36659704-9858-2274-cd62-73c6e079f704.png">

## Jupyter Notebook動作確認
### Home画面を開く
Jupyter Notebook起動時に自動でブラウザ上に表示されました。


<img width="1440" alt="05-jupyternotebook起動-02-Home画面.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/6ae7d45c-d786-b0ab-429c-a3e76283197b.png">

### 新規Pythonファイルを作成する
右上の[New]から[Python3]を選択し、新規Pythonスクリプトファイルを作成します。
<img width="1440" alt="05-jupyternotebook起動-03-新規Pythonファイル作成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/7adb3821-75ad-b210-a806-c3effa7d6436.png">

### Hello Worldの記述
1つ目のセルに以下を書き込む

```python
print("Hello World")
```

<img width="1440" alt="05-jupyternotebook起動-04-Helloworld記述.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/9cfefd9e-b974-0bcf-d7f7-733176fea301.png">

### 実行
<img width="1440" alt="05-jupyternotebook起動-05-実行.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365444/004b7953-e869-2cca-9b47-6656d8bacf49.png">
Control + Enterを押下するか、ツールバーの[Run]をクリックします。
エラーなく'Hello World'が表示されれば終了です。

# まとめ
Homebrewをインストール
　↓
HomebrewでPython3をインストール
　↓
Python3と同時にインストールされるpip3でJupyter Notebookをインストール
　↓
Jupyter Notebookを起動