2017年12月から新しい職場に移り、開発環境設定周りを一から行ったので、忘れないように書き留めます。
自宅で使っているMacBooK Airのスペックは下記の通りです。(かなり古いです。)
2011 MacBook Air 3,1
1.4 GHz Intel Core 2 Duo
2 GB 1067 MHz DDR3
128 GB SSD
High Sierra 10.13.2
とりあえず今回は
- pyenvのインストール
- anacondaのインストール
- jupyter notebookの起動
まで、基本的なことを書きます。
jupyter notebookの設定や開発に使うvimの設定は次回以降説明します。
なぜjupyter notebookを使うのか
一応そもそもの話をしておくと、仕事で分析周りのお仕事をしているので、機会学習やグラフ描画が手軽にできる環境を構築する必要がありました。
専門は分析基盤ですが、Redshift等にMacからSQLを発行する際に、ipython-sqlというツールを使えば便利なので、基盤の開発でも使ってます。
また現在GitHub上で簡単にNotebookを共有できるので、社内で分析やSQLを共有するという意味でも優れています。
なぜpyenv+ anaconda3か
環境はpyenv+ anaconda3になります。
pyenvとanacondaを推奨しない議論もありましたが、
https://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7
分析基盤をやってきた印象としては
- ドライバの設定や踏み台サーバが絡みPython3ではSQLクエリが失敗するケースがある
- 分析周りで後々に必要となるOSパッケージが出てくる場合があり、その度にPythonのアンインストールとインストールを繰り返すことがある
などなどの理由があり、サクッと色んなPythonバージョンを入れられて、サクッと分析環境を作れる anacondaがいいかと思っています。あとローカルの環境をなるべく汚したくないですしね。
Python3系なのは、現在読み進めている
Fluent Python
https://www.google.co.jp/amp/s/www.oreilly.co.jp//books/9784873118178/mobile.html
という書籍がPython界のバイブルになるような気がしているので、それに合わせてです。前述したように、職場ではDB接続の関係上Python2系を余儀なくされることもあるので、どちらも使えるといいと思います。
pyenvのインストール
まずCommand Line Tools for Xcodeをインストールします
~$ xcode-select --install
するとポップアップが出てきてますので、「インストール」を押してしばらく待ちましょう。
次にHomebrewをインストールします
~$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
pyenvをインストールします
~$ brew install pyenv
下記のように.bash_profileを編集して、pyenvの自動補完を有効にしましょう。
~$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
最後に.bash_profileを読み込んで完了です。
~$ source .bash_profile
anacondaのインストール
下記コマンドを発行してインストール可能なバージョンを調べます。
pyenv install --list
ここではanaconda3-4.0.0がanaconda3系の最新でしたので、これをインストールします。
~$ pyenv install anaconda3-4.0.0
インストールが完了するまで結構待ちますが、お風呂にでも入って待ちましょう。
インストールが完了したら、下記コマンドを実行してanaconda3を標準にします。
~$ pyenv global anaconda3-4.0.0
jupyter notebookの起動
~$ jupyter notebook
でjupyter notebookを起動しましょう!
うまくいけばブラウザ上でjupyter notebookが立ち上がるはずです。
最後に
簡単にではありますが、mac上にjupyter notebookの環境を立上げる説明をしました。
ここから、どうやってjupyterをかっこよくしてくかなどの説明は次回以降行います。