Spyder をアイコンから起動させる（Mac編）

[Spyder](https://www.spyder-ide.org)は[Anaconda](https://www.anaconda.com)に付いてくる[IDE](https://ja.wikipedia.org/wiki/統合開発環境)（プログラムを書くためのソフトウェア）で、直感的で使いやすい。特にサイエンス系やプログラミング初心者に向いていると思います。最近、待望のSpyder4がリリースされ、プログラマーたちがよく使っている（イメージの）ダークモードが使えるようになりました。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">If you like PyCharm&#39;s dark theme, check out an early version of what we&#39;ve got coming in Spyder 4! <a href="https://t.co/0WnqEnKe9e">pic.twitter.com/0WnqEnKe9e</a></p>&mdash; Spyder IDE (@Spyder_IDE) <a href="https://twitter.com/Spyder_IDE/status/1059136473193238528?ref_src=twsrc%5Etfw">November 4, 2018</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

しかし、実際にインストールしようとするとちょっとややこしかったので、ここに記録しておきたいと思います。
# 準備
Spyderの[公式ページ](https://docs.spyder-ide.org/installation.html)ではAnacondaからのインストールを強く勧めているので、とりあえずAnacondaをインストールしておきます。Anacondaのインストールは[公式ページ](https://www.anaconda.com/distribution/)からダウンロードして直感的にNext、Nextと進めるだけでできます。

# Spyder4をインストールする
Anacondaがインストールできたら、とりあえず新しい環境を作ります。これは、もし後で問題が起きたとしても、この環境を消したり、新しい環境をまた作ればよいので、保険になります。

```bash
conda create -n spyder4 python=3.7
```

新しい環境ができたら、`conda activate spyder4` と入力・実行して、今作った新しい環境に移ります。そして、spyder4をインストールします。

```bash
conda install spyder==4.0
```

インストールが完了したら、`spyder`と入力・実行してspyder4を立ち上げます。
無事に立ち上がったら、spyder4のインストールは完成です。

ややこしかったのは、なぜかAnaconda　Navigator（Anacondaをインストールする際にインストールされたソフトウェア）にspyder4がいなかったので、Terminalからspyder4を起動する必要があるところです。（最初からパソコンにanacondaがインストールされていない場合では、また状況は違うかもしれませんが。）

# アイコンから起動させる
Macに標準装備されている[Automator](https://support.apple.com/ja-jp/guide/automator/welcome/mac)というアプリは、人間がクリックしたりドラッグしたりする操作を自動化してくれる便利アプリです。単純な繰り返し作業は、このアプリに任せることができます。今回はこれを利用してSpyder4をアイコンから起動させるようにします。

## 方法1
Spyder4は、実は下記の場所にあるアイコンをダブルクリックすることで起動させることができます。しかし、これを他の場所に移すと起動できないので、Automatorを使って、『これをクリックし、起動させる』ことをします。
`~/opt/anaconda3/envs/spyder4/bin/spyder`
（anaconda3の場所が異なることがあります）

1.　Automatorを起動し、新規作成を選択します。
2.　Workflowを選択します。
3.　上記のファイルをAutomatorの右側にドラッグ＆ドロップします。
4.　検索バーでOpen Finder Items を検索し、この項目を右側の欄にドラッグ＆ドロップします。
![Screen Shot 2019-12-14 at 3.52.41 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/345318/4ea9b084-5ce7-d303-c79d-3a1fe4d82460.png)
5.　このWorkflowを保存します。場所をApplicationsにすれば、Launchpadから起動できます。File FormatをApplicationに選択します。
![Screen SPM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/345318/0625d0ac-c74e-31e7-c394-1e48fd72334e.png)

以上で完成です。
## アイコンの変更
アイコンをSpyderのものに変えたいのであれば、下記の場所にダークモードのpngファイフがあるので、これをアイコンに使っても良いでしょう。
`~/opt/anaconda3/⁨pkgs/spyder-4.0.0-py37_0⁩/lib⁩/⁨python3.7/⁨site-packages⁩/spyder⁩/⁨images⁩/spyder_dark.png`
![spyder_dark.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/345318/eb8df41e-b09f-4117-1083-e483e39a5f2b.png)

Macではアイコンの変更は非常に簡単です。
1.　画像をコピーします。（注：画像ファイルではなく、画像自体をコピーします。つまり、画像をPreviewなどで開いて、全選択して（⌘+A）コピーします。）
2.　次に、変更先のアプリのアイコンを右クリックして、Get Infoを選択します。
3.　左上のアイコンの部分を選択して、ペースト（⌘+V）するだけで完成です。
![Screen Shot 2019-12-14 at 4.18.34 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/345318/f20b152a-72d0-62bb-2e2f-56306343b3de.png)

## 方法2
AppleScriptを使います。AppleScriptはMacOSをコードで操作できます。

1.　Automatorを起動し、新規作成を選択します。
2.　Workflowを選択します。
3.　検索バーでRun AppleScriptを検索し、この項目を右側の欄にドラッグ＆ドロップします。
4.　Scriptの欄に下記コードを書き込みます。

```applescript
tell application "Terminal"
	do script " "
	activate
	do script "conda activate spyder4" in window 1
	do script "spyder" in window 1
end tell
```

## 方法3 [更新 2022.10.27]
より簡単なコードで起動できます。

1.　Automatorを起動し、新規作成を選択します。
2.　Applicationを選択します。
3.　検索バーでRun Shell Scriptを検索し、ヒットした唯一の項目をダブルクリックします。
4.　Scriptの欄に下記コードを書き込みます。

```shell
source /opt/anaconda3/bin/activate spyder5
spyder
```

ここで一行目の `/opt/anaconda3/bin/activate` はanacondaがインストールされている場所で、`spyder5`はspyderがインストールされている環境の名前です。

あとは方法1と同様に保存して完成です。

# （番外編）Kiteを使って自動予測入力
[Kite](https://kite.com)はコードの予測入力をしてくれるAdd onです。Spyderはデフォルトでは予測入力機能が余り充実していないので、このような（無料の）自動予測入力ツールがあると助かります。