mac+pyenvでPython環境構築

**【この記事は賞味期限切れです】**

研究室の新人さんたちがmacOSに不慣れだったのでPython環境構築をまとめておきます．
(ときどき間違った記事があるせいかしっかりとインストールできていなかったので…）
基本的に研究室の後輩たちに向けた記事ですが一般公開にしておきます．

ここではbrew→pyenv→Pythonの順でインストールしていきます．

#brewのインストール
##brewとは
macOSにソフトウェアを導入する作業を単純化してくれるソフトです．
今後もmacのあらゆる場面で利用するので導入必須
##インストール
macでTerminalソフトを起動して
※macのアプリ起動は[command+スペース]を押すとSpotlight検索というのが出るので，そこに"ter"(アプリ名の一部)まで打ってReturnキーを押すのが1番効率的です．



```bash:Terminal
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
を入力するだけ． [ホームページ](https://brew.sh/)にいくと詳しい説明あり．

#pyenvのインストール
##pyenvとは
Pythonの環境を簡単に構築してくれるソフトウェアです．
またご存知のようにPythonには複数のバージョンがあります．
ときに別バージョンでやる必要があったりしますが，それを簡単にスイッチしてくれます．

##インストール
再びTerminalに戻って

```zsh:Terminal
brew install pyenv
echo 'export PYENV_ROOT=/usr/local/var/pyenv' >> ~/.bash_profile
echo 'if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi' >> ~/.bash_profile
```
の3行を実行（3行一気にコピペでOKです）．

#Pythonのインストール
##Pythonとは
研究室に入って最初に「僕(私)はここでやっていけるんだろうか…」と不安を植え付けられたアレ

##インストール
一度Terminalを再起動しますが面倒なので
Terminalのアイコンをクリックしたあとに
[command+W]→[command+T]
の順で押してください．
次に

```bash:Terminal
pyenv install -l
```
を実行すると

```bash
Available versions:
  2.1.3
  2.2.3
  （中略）
  3.7.3
  3.8-dev
  activepython-2.7.14
  activepython-3.5.4
  activepython-3.6.0
  anaconda-1.4.0
  anaconda-1.5.0
  （中略）
  stackless-3.4.7
  stackless-3.5.4
```
みたいになると思います．
これがいまpyenvがサポートしているバージョンの一覧です．

* ドット区切り数字3つのものは裸のPython(自分で必要なライブラリを全てインストールしていく)
* anaconda-*となってるものは数値計算向けライブラリがすでにインストール済みのPython
* 他のものは気にしなくていい

特別な理由がなければ裸Pythonかanacondaをインストールすればいいと思います．
~~私はパッケージを自己管理したいので裸Python派ですが、ライブラリのインストールすら面倒なときはanacondaをインストールすればいいです．~~ 最近はanaconda派でcondaでほとんどのパッケージ管理しています．
anacondaをインストールするなら`anaconda3-*.*.*`(Python3x系列)となっているのものをインストールします．
こんな感じで↓

```bash:Terminal
pyenv install anaconda3-5.3.1
```
##システムPythonと入れ替え
macには標準でPython2x系列が入っています．
それを今回のインストールしたものと切り替えます．
例えば上記みたいに **anaconda3-5.3.1** をインストールした場合，以下のコマンドを実行します．

```bash:Terminal
pyenv global anaconda3-5.3.1
```
念のためにPythonのバージョンを確認するコマンド：

```bash:Terminal
python --version
```
を入力すると`anaconda3-5.3.1`のキーワードが確認できると思います．

おつかれさまでした．


#後輩に向けた老害アドバイス
今日の作業が多すぎたので軽くお酒を飲みながらtipsを書いてみます
## あらまし
かれこれmac歴はとっくに10年を超えてしまいました。
途中、野球部並みのスパルタ教育も経験しました（US配列の無刻印キーボードを渡され1字(≠1単語）のタイプミスも許されないなど）。
それを見ていた同研究室の後輩女子と神奈川出身同士という共通点や趣味が合うなどのきっかけから、でも別に何も起こらず放課後ただおしゃべりだけしてました。  

大学入学後は研究室に同期が来なかったため、サーバ保守+物品管理+スケジューリングを一手に引き受けたつつ、それでも月1で海外出張にいくハゲそうな年もありました。ハゲました若干。
おかげさまで、簡単なメール返信や学会登録、老化などのスピードは相当早いと自負しています。
そんな自分からmac作業の無駄時間を省くためのあれこれ伝授しておきます。
## macOS Tips
- **`fish` というシェルをインストールすべし**  
  ターミナルアプリはほぼ毎日使うと思います。それを便利にしてくれるものです（弊研究室の教授は10年以上`zsh`を使っていたそうですがこれをお勧めしたところ、なんと乗り換えたそうです）。
- **キーボード設定の改善**  
  環境設定→キーボードから「キーのリピート」と「リピート入力認識までの時間」のスライダーを一番右にしてください。macはデフォルトで遅くしているらしいです。
- **辞書登録**  
  これは事務作業で必須です。環境設定→キーボード→ユーザ辞書から色んな単語を登録してください。例えば「めーる」と打つとメアドに変換されるなど。ただし「めーる」と打つのは長いうえに「ー」でミスタイプしやすいので「める」にしています。同様に「なまえ」でフルネーム変換。ただし「なまえ」と打つ時間が無駄なので自分は「なめ(=英語でname）」で登録しています。そのほか「がくせき」=学籍番号、「よろ」=「よろしくお願いします」など。
- **ドックは右**  
  初期状態だと画面下にあるアイコンが並んでるエリアです。これは絶対に右にしたほうがいいです。ここ最近のコンピュータはワイド（横長）のディスプレイが主流なので、あえて下配置にしたまま縦方向を圧迫する必要はないです。またPythonなどは1行79文字以下という公式ルールがあるので実は画面横方向には余裕があります。
- **BetterTouchToolをインストール**  
  課金してでも入れるべきアプリだと思っています。標準のマウスやトラックパッドの機能は少なすぎるので、これで補充することができます。例えば3本指クリックでミドルクリック(=一般的なマウスのホイールを押す動作）になり、ブラウザなので「新規タブで開く」という作業が一髪でできます。
- **ctr と cmd のキーを逆にする**  
  これはキーボード設定からいけます。最初は戸惑うかもしれませんが、慣れると初期設定よりもコピペが早くなります。
- **Gmailの振り分け**(macとは無関係ですが）  
  昨今ではHSPと呼ばれる脳の性質が自分にあるらしく、特に音に関して敏感です。研究室メールが大量に来る日がたまにあるので、不必要なものは通知しないなどの設定をおすすめします。またこのフィルタ設定で大事なメールが埋もれてしまうことも減りました。