MacでワンクリックでJupyter Notebookを起動させる方法

Macのデスクトップ画面から、ワンクリックで使用したい仮想環境でJupyter Notebookを起動させる方法をメモがてら。
# 環境
使用OS：macOS Mojave

# 準備するもの
Anacondaを使用して作成した仮想環境（Jupyter Notebookインストール済みのもの）
最初からMacに入っているアプリケーション「Automator」を使用
（Launchpadではその他に入っている）
<img width="1440" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/1f598523-a8a8-ff50-0445-f5364c8a5884.png">
<img width="265" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/b02f34e2-5adb-8696-4ad9-46e7a14ffec8.png">
この子です。


# 手順
1. Automaterを起動し、左下の新規書類を選択するよ
<img width="911" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/7c7e8adb-5bd3-c844-c2df-5038259f3584.png">

2. アプリケーションを選択して選択するよ（ﾆﾎﾝｺﾞ）
<img width="1228" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/cd560ec7-7fbe-9b55-10e9-26e458355b4c.png">

3. 左の一覧から、「AppleScriptを実行」を選択するよ
<img width="1228" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/819787fd-2175-295d-cc86-4021cfbe5df8.png">

4. 以下のコマンドを入力する
下がら2行目の「return input」を削除して、
(* Your scripts goes here *)
の部分に、以下のコマンドを入力する。

```
tell application "Terminal"
    set currentTab to do script with command "source activate py4kaggle"
    delay 0.3
    set currWin to index of first window
    tell window currWin
        set custom title of first tab to "Tarminal for yy"
    end tell
    set current settings of window currWin to settings set "zz"
    delay 0.3
    do script "cd documents/Kaggle && jupyter notebook" in currentTab
end tell

```

5.各行のコマンドについて説明するよ

```
tell application "Terminal"
~
end tell
```

まず、Terminalを呼び出しているよ、普通にターミナルを開いているだけ。

```
set currentTab to do script with command "source activate xx"
delay 0.3
```

現在開いているターミナルのタブにcurrentTabっていう名前をつけて、ターミナルに「source activate xx」って入力した。
これで仮想環境「xx」に切り替えることができる。
そのあと、読んでそのまま、delayを0.3秒入れている（順番通りに処理を実行させるためのおまじない）

```
set currWin to index of first window
tell window currWin
    set custom title of first tab to "Tarminal for yy"
end tell
set current settings of window currWin to settings set "zz"
delay 0.3
```

現在開いている一つ目のターミナルのウィンドウにcurrWinっていう名前をつける。
そして、今名前をつけたウィンドウ「currWin」の最初のタブのタイトルに「Tarminal for yy」っていう名前をつける。
次に、ウィンドウ「currWin」に対して「zz」っていうテーマを適用する。
（これは好みの問題、デフォルトのターミナルのテーマが好みではないためこうしているよ、複数のターミナルを開いた時に色の違いで見分けることができればわかりやすくてよきよき）
そして最後に、おまじないのdelay 0.3

```
do script "cd documents/subdir && jupyter notebook" in currentTab
```

これが最後の処理。
先ほど作成したcurrentTabにおいて、「documents/subdir」にカレントディレクトリを変更する。
その後に続けて「jupyter notebook」と入力し、Jupyterを起動する。

# 確認
右上の実行ボタンを押して実行してみるよ。
何らかのポップアップメッセージが出てきたら、全部許可してしまってOK（今後表示しないにチェック）
<img width="294" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/fc8373ee-891b-ef86-4628-e93765c24ee0.png">
<img width="1228" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/ca55f61e-b628-709f-18c3-83f703ca7438.png">

成功すると、下の感じになる。
<img width="1228" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/372c540b-d87e-9a07-9f35-e5acb6f25369.png">
ついでに、ターミナルも起動している。確認して見てね（名前とか入っているのでスクショは省略させてね）

# 保存
⌘+Sを入力すると、今作成したものを保存することができる。
適当な名前をつけて、アプリケーションとして保存する。
<img width="1228" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/9b7501b7-bbc1-dd5d-299f-303c70a35688.png">
はい！これで完成！
Dockに追加しておけば、使うときもポチッとワンクリックするだけ！簡単！

# おまけ
Finderを開いてアプリケーションディレクトリを開く
その中に、先ほど作成した「JupyterNotebook.app」が入っている。
これを二本指でクリックしてショートカットメニューから「情報を見る」を選択
こんな感じの画面が出てくると思います↓
<img width="262" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/3cab6b81-e0be-114e-7d1d-22759d573bc2.png">
これの、左上のアイコン（今はJupyterNotebookのアイコンが入っている）部分をクリックすると、縁取られて色がつく。
この状態で、ここに画像をドラッグ&ドロップするとアイコンを変更することができる。
（ちなみに私は「Jupyter Notebook」でggった時に出てきた画像を使わせてもらってます）

すると、Dock内でも判別がしやすくなる！
<img width="201" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455458/49bb7386-3f1c-5fd2-0e5f-450511a16a14.png">

ちなみに私は、同様の手法で作成したショートカットアクセス用アプリをいくつか並べてます。
（左から順にGmail、Youtube、JupyterNotebook、Kaggle）
ウェブサイトにアクセスしたいなら、

```Gmail.app
do shell script "open -na 'Google Chrome' --args 'https://mail.google.com/mail/u/0/#inbox'"
```

って感じにすればおｋ。

# 終わりに
いかがでしょう。ホント便利です。
あ、勉強しよ、ってなった時に一瞬で環境を立ち上げられるのは非常に便利ですよね。
皆さんも是非使って見てください、便利すぎて無しでは人生しんどくなります（いいすぎ）。

よきJupyterライフを。