case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

pyenvでPython分析環境を構築してみた「Anaconda & Jupyter Notebook」

今回はPythonで機械学習を行うために必要な環境構築の一連の流れを記事にしました。Pythonのバージョン管理を行うpyenvコマンドを活用し、機械学習を行うパッケージ「Anaconda」のインストールと分析可視化環境「Jupyter Notebook」を構築してみます。

本記事の目的

本記事は以下を目的としています。
・pyenvコマンドやJupyterの理解
・Pythonの分析環境の構築方法の理解

pyenvとは

pyenvはPythonのバージョンを切り替えるツールです。Macなど既にPythonがインストールされておりますが、インストールされているバージョンはPython2系です。
Pythonのバージョンは2系と3系があり、2系のサポートは2020年で終了するため3系に対応することが望ましいです。
また、今回は機械学習に必要なライブラリを内包したパッケージAnacondaのPython3系を使いたいので、Python2系からAnacondaのPython3系にバージョンを切り替える際役立ちます。

pyenvのインストール

実際にpyenvをインンストールしたいと思います。
まず、GITでpyenvをクローンし、pyenvコマンドを扱えるようにOSが参照する設定ファイル[.bash_profile]を更新します。

# 現在のバージョン
$ python --version

# Out 
Python 2.7.9

# クローン
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv

# Out
Cloning into '/home/keisukegcp1234/.pyenv'...
remote: Counting objects: 16462, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 16462 (delta 11), reused 26 (delta 11), pack-reused 16429
Receiving objects: 100% (16462/16462), 3.20 MiB | 0 bytes/s, done.
Resolving deltas: 100% (11168/11168), done.

pyenvのDLは完了したので、以下のコマンドを実行し、bash_profileの編集をします。
bash_profileはログインした際に読み込まれる設定ファイルです。
https://wa3.i-3-i.info/word13650.html

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

.bash_profileを更新できたので、設定ファイルを読み込みます。
.bash_profileはLinuxにログインした際に読み込まれるので、以下のコマンドを実行しないと編集した設定ファイルの内容が適用されません。

source ~/.bash_profile

Anacondaとは

AnacondaとはPythonで機械学習を行うために必要なライブラリを内包したパッケージです。
通常は必要なライブラリを1つずつ構築した環境にPIPコマンドなどでインストールしていく必要がありますが、Anacondaをインストールすればその手間を省くことが可能です。不要なライブラリも含んでいるため、余分にディスク容量はとりますが、入門として機械学習の分析環境を構築するにはAnacondaを推奨します。

pyenvでAnacondaをインストール

インストールしたpyenvコマンドでAnacondaをインストールします。
まず、pyenvでインストール可能なパッケージを確認し、Anacondaの最新版をインストールします。
Anacondaのインストールが完了したら、penvコマンドでPythonのバージョン切り替えを行います。

# pyenv インストール可能パッケージ
$ pyenv install --list

# Out
 ・・・・
  anaconda3-5.1.0
  anaconda3-5.2.0

# anacondaのインストール
$ pyenv install anaconda3-5.2.0

# Out
Downloading Miniconda3-4.3.30-Linux-x86_64.sh...
-> https://repo.continuum.io/miniconda/Miniconda3-4.3.30-Linux-x86_64.sh
Installing Miniconda3-4.3.30-Linux-x86_64...
Fetching package metadata ...........
Solving package specifications: .

# Python切り替え
$ pyenv global anaconda3-5.2.0

# 確認
$ python --version
Python 3.6.3 :: Anaconda, Inc.

Jupyter Notebookとは

Jupyter Notebookとは大規模データの分析に役立つPythonの可視化ツールです。
ブラウザからインタラクティブにPythonプログラムの実行と実行結果を確認することができます。
機械学習や小さなデータであれば、Excelでも構いませんが、大規模データの加工やグラフの可視化、
機械学習の実行結果を確認するにはJupyterでないと難しいです。

Jupyter Notebookの活用

Anacondaをインストールすると、内包するライブラリにJupyterも含まれています。
以下のコマンドを実行しJupyter Notebookをブラウザから確認してみましょう

$ jupyter notebook --port 8080

# Out 
   Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8080/?token=a2df88b54bceb92d3286bcc95f60eda4e181954f4c98ea41

f:id:casekblog:20180922181153p:plain

ブラウザからJupyter Notebookを確認することができました。
以上で、環境構築入門を完了とします。

参考記事
pyenvを使ってMacにPythonの環境を構築する - Qiita
Pythonを書き始める前に見るべきTips - Qiita
Pyenvの使い方 - Qiita
pyenvのインストール、使い方、pythonのバージョン切り替えできない時の対処法 - Qiita
データサイエンティストを目指す人のpython環境構築 2016 - Qiita