pythonは、昨今データサイエンティスト向けの開発言語として人気を博してます。
検索すると、色々な記事がヒットしますが、
「自分はエンジニアじゃないので内容がさっぱりわからない!」
「ええい、とにかくpythonを動かしたいんだよ!」

という方向けに、コピペでできる環境構築方法をご提供します。

以下を、MacOSの「ターミナル」ソフト上にコピペしていただければ、pandasやscikit-learnなどの分析用パッケージが入ったpythonの分析環境が構築できます。

こちらをコピペすると、環境構築が完了します。

# ↓以下をコピペ↓
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

pyenv install -l | grep anaconda
pyenv install anaconda3-4.4.0
pyenv rehash
pyenv global anaconda3-4.4.0
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.1.1/bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc
conda update conda

conda create -n nehan_blog python=3.6.1 numpy scipy pandas jupyter scikit-learn matplotlib
conda env list
source activate nehan_blog
jupyter notebook
# ↑ここまでをコピペ↑

やっていることを簡単にご説明

pyenv上にAnacondaをインストールして、Anacondaを利用してインストールしたjupyter notebookを起動しています。

pyenv
そもそもpythonにはバージョンという概念があり、大きくpython2と呼ばれる2系と、ptyhon3、つまり3系に別れます。
「このコードは2系で動いていて、あっちは3系」
みたいなケースに柔軟に対応するため、バージョン管理の仕組みが必要です。それがpyenvです。

Anaconda
Anacondaは、主にパッケージ管理において重宝します。
必要に応じて分析パッケージをまとめて簡単に追加できるため、採用されるケースが増えてきました。

jupyter notebook
pythonを実際に打ち込むインターフェイスです。
機械と対話するようにコマンドの結果が確認できるため、データ分析向きです。

重要な部分をピックアップしてご説明

8-12行目:Anacondaのバージョン指定

pyenv install -l | grep anaconda
pyenv install anaconda3-4.4.0
pyenv rehash
pyenv global anaconda3-4.4.0
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.1.1/bin/:$PATH"' >> ~/.bashrc

8行目を実行すると、インストール可能なAnacondaのバージョンが出力されます。

$ pyenv install -l | grep anaconda
#  anaconda-1.4.0
#  anaconda-1.5.0
# (中略)
#  anaconda3-4.3.1
#  anaconda3-4.4.0

本記事では、執筆時点最新の「anaconda3-4.4.0」をいれていますが、必要に応じて最新のものを導入すると良いです。
その際に、9,11,12行目で指定しているインストールバージョンの書き換えも必要です。
なお、9行目のインストールはやや時間がかかります。気長に待ちましょう。

16-18行目:環境の作成と、インストールパッケージ指定、および作成した環境の立ち上げ

conda create -n nehan_blog python=3.6.1 numpy scipy pandas jupyter scikit-learn matplotlib
conda env list
source activate nehan_blog

16行目

「nehan_blog」という名前で分析環境を作成しています。
実行すると、以下のようになります。

$ conda create -n nehan_blog python=3.6.1 numpy scipy pandas jupyter scikit-learn matplotlib
# Fetching package metadata .........
# Solving package specifications: .

# Package plan for installation in environment /home/.pyenv/versions/anaconda3-4.4.0/envs/nehan_blog:

# The following NEW packages will be INSTALLED:


#    appnope:            0.1.0-py36_0
#    bleach:             1.5.0-py36_0
#    cycler:             0.10.0-py36_0
(中略)
# Proceed ([y]/n)? 

「y」と書いて、エンターキーを押し、続けましょう。色々なパッケージのインストールが始まります。

# icu-54.1-0.tar 100% |############################################################################################| Time: 0:00:12 931.25 kB/s
(中略)
# To activate this environment, use:
# > source activate nehan_blog
#
# To deactivate this environment, use:
# > source deactivate nehan_blog
#

完了です。
こちらも、やや時間がかかります。気長に待ちましょう。

なお、一般的な書き方はこちら。

conda create -n <作りたい環境の名前> python=<任意のバージョンを指定> <インストールしたいパッケージ名を記述>

本記事では、pythonバージョンに3.6.1を指定し、
インストールするパッケージを以下に指定しています。(データ分析において、よく使用されるパッケージです。)

  • numpy
  • scipy
  • pandas
  • jupyter
  • scikit-learn
  • matplotlib

pythonバージョンについては、以下のコマンドを打つと、利用可能なバージョンの一覧が表示されます。

$ conda search python
# Fetching package metadata .........
(中略)
# python                       1.0.1                         0  defaults
#                              2.6.8                         1  defaults
(中略)
#                              3.6.1                         0  defaults
#                           *  3.6.1                         2  defaults
(以下略)

インストール可能なパッケージについては、以下のコマンドを打つと、確認できます。
リストにないパッケージのインストール方法については、別の記事にて。

$ conda list
# packages in environment at /home/.pyenv/versions/anaconda3-4.4.0/envs/nehan_blog:
#
# appnope                   0.1.0                    py36_0
# bleach                    1.5.0                    py36_0
# cycler                    0.10.0                   py36_0
# decorator                 4.0.11                   py36_0
# entrypoints               0.2.2                    py36_1
(以下略)

17行目

作成した環境ができているか、確認しています。
「nehan_blog」がちゃんと表示されれば、OKです。
なお、今いる環境には「*」マークがつきます。

$ conda env list
# conda environments:
#
# nehan_blog               /home/.pyenv/versions/anaconda3-4.4.0/envs/nehan_blog
# root                  *  /home/.pyenv/versions/anaconda3-4.4.0

18行目

いよいよ、作成した環境の立ち上げを行っています。
実行すると、頭に(nehan_blog)が付き、今いる環境を示します。

$ source activate nehan_blog
(nehan_blog) [2017-06-12 11:10:25] [email protected]:~

なお、例えば上記手順で「nehan_blog2」を仮に新しく別に作ったとして、そちらの環境に移動した場合は、以下のように切り替えを実行ないます。

$ source deactivate #今いる環境から抜ける
[2017-06-12 11:11:03] [email protected]:~
$ source activate nehan_blog2
(nehan_blog2) [2017-06-12 11:11:25] [email protected]:~

19行目:jupyter notebookの起動

jupyter notebook

起動に成功すると、ブラウザが立ち上がり、以下の画面が表示されます。

このjupyterの画面が表示されたら、pythonの環境構築は完了です。
環境構築が大変でちょっとだけ敬遠されがちなpythonですが、コピペでできる環境構築により、身近に感じることができたのではないでしょうか。

以降、構築した環境にて、様々なデータ処理、分析を行っていきます。