こん〇〇は!!

本日は自分のメモも兼ねて, Python を用いたデータ解析・機械学習の環境構築について記載します.

 

1.導入Motivation
(1)なんか, Python 流行っているし使ってみよう(公私共に)
(2)Deep learning とか機械学習のライブラリは python パッケージが多い!!
(3)おまけに OpenCV まで使えるではないか!!

 

2.概要
(1)anaconda3(python3系) のインストール
(2)python2.7 用の環境構築 + jupyter notebook への python2 系カーネルの追加
    - jupyter notebook で python のバージョンを切り替えて使いたかったため

 

(以下は別記事に書きます)

(3)python3, python2 系それぞれに対して OpenCV3 のインストール
(4)chainer  をpython2.7 系環境へ追加
(5)tensorflow を python3 系環境へ追加(macのみ)

 

3.試したOS環境
CPU とかは関係ないので端折ります.
(1)Windows7        32 bit
(2)Windows8.1    64 bit
(3)Mac OS 10.10         64 bit
記全部でインストール&動作確認しました.

 

4.詳細
(1)anaconda のインストール
anaconda は, python と数値解析環境等の便利なパッケージがまとめられたツールです.
下記ページから自分のOS環境に適合したインストーラーをダウンロードし, 実行します.
後述しますが, 異なる python 系の環境構築は後から可能なので,  とりあえず python3 系のインストーラをインストールしました.


https://www.continuum.io/downloads

 

インストール中に, 利用対象を尋ねられます.
windows 環境では all user を選択しました.

mac では Install for me only でインストールしました.

 

(2)python2.7の環境を構築 + jupyter notebook への python2 系カーネルの追加​
python では仮想環境に系統の違う python を置いて切り替えて使うことができます.
仮想環境の構築には anaconda をインストールすると使える conda を使います.
(他のサイトでは, 別ソフトで環境構築している説明もありますが, 
anacona 入れたんだから conda でよくね? と考えて, conda を使いました.)

 

①仮想環境構築
コマンドプロンプトで下記コマンド実行

 conda create -n python2 python=2.7 anaconda

 

"python2" という名前の仮想環境を作り,
その中に python 2.7 と, anaconda を入れなさい,という命令です.
"python2" という名前は一例ですので, 各自で適当に命名してください.

 

結果として,
win : C:\anaconda3\envs

mac : (ホームユーザーディレクトリ)/anaconda/envs

の中に python2 というフォルダが作成され, 色々なパッケージがインストールされます.

 

【仮想環境切り替え方法】
※windows → source コマンド不要
有効化
 source activate "仮想環境名"
無効化
 source deactivate

 

有効化した場合, python2 仮想環境内にインストールしたパッケージのみが使えます.
足りなかったら各自必要なパッケージをインストールしてください.

 

【余談】
私の場合, なぜか python2 環境に numpy がコピーされていなかったので, 
python2 環境を activate した状態で下記コマンドを実行して追加インストールしました.
 conda install numpy


②jupyter notebook に python2 系のカーネルを加える.
作った python2 系の環境を有効化します(仮想環境名:python2 とします)
 win : activate python2
 mac : source activate python2

 

次に python2 系の仮想環境内に jupyter と jupyter notebook で使うカーネルをインストールします.(python3 系には anaconda をインストールした時点で既に入っているし, jupyter notebook を起動したときに参照するディレクトリにも python3 カーネルが既に存在するので, あくまで python2 環境のみで実行すればよい.)
conda install jupyter ipykernel

 

jupyter が参照するカーネルフォルダに python2 のカーネルを移植します
jupyter kernelspec install-self

 

以下のフォルダにカーネルが移植されているはずです. 

win : C:\ProgramData\jupyter\kernels\python2

mac : どこか特定できなかったです・・・知っていたら教えてくださいorz

 

後は, python3, python2 どちらの環境にいても,
jupyter notebook
でノートブック起動し, プルダウンでカーネルを選択可能となります.

 

【注意点】

notebook 上で python2 を選択した場合, 仮想環境 ”python2” のカーネルを選択していることになるので, 仮想環境内にインストールしたパッケージのみ使えます。

 

 

これで、両方のカーネルで jupyter notebook が使えるようになって便利!!!

AD