TensorFlowを使ってDir en greyの顔分類器を作ってみた - ②環境構築編

# はじめに
- pyenvとかvirtualenvとかannacondaとか使ってません。
※pyenv入れるとどうしてもcv2.soが落ちてこなくて諦めました。

- python3ではないです。opencv3でもないです。
- 仮想環境はつかってません。
- zsh使ってますがbashも同じ感じです。

# 環境
|#|OS/ソフトウェア/ライブラリ|バージョン|用途|備考|
|:---|:---|:---|:---|:---|
|1|Mac OS X|EI Capitan|全部|一番頑張ってくれてます|
|2|Docker|最新版|全部||
|3|Python|2.7系|機械学習やWeb部分|既存のものではなく、Homebrewで入れてます|
|4|Apache|2.4系|Web部分|既存のものを使ってます|
|5|PHP|5.6系|画像収集部分|別の言語でもよいです。最初Rubyで書いてましたが、プロキシ関係でうまく接続できなかったので...|
|6|NumPy|1.12系|OpenCVと共に行列演算||
|7|OpenCV|2.4系|画像から顔検出||
|8|TensorFlow|1.1系|ディープラーニング||
|9|Flask|0.12系|Web部分|PythonのWebのフレームワーク|
|10|WSGI|0.12系|Web部分|pipから入れました。homebrewとかでいれるとPythonとの互換性が...|

#構築
## 事前準備
### 最新にアップデート
```zsh
brew update
```
### tap
```zsh
brew tap homebrew/python
brew tap homebrew/science
```
## Pythonの導入
### インストール
```zsh
brew install python
```
### パスの確認
```zsh
which python
/usr/local/bin/python ※1
```
※1 /usr/bin/pythonの場合、PATHを通してあげてください。
※ 反映されない場合ははコンソールの再起動をかけてみてください。

### バージョンの確認
```zsh
python
Python 2.7.13 (default, Apr  4 2017, 08:46:44) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
```
## NumPy の導入
### インストール
```zsh
brew install numpy
```
## OpenCV の導入
### インストール
```zsh
brew install opencv
```
### バージョンの確認
```zsh
Python 2.7.13 (default, Apr  4 2017, 08:46:44) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'2.4.13.2'
>>>
```
## TensolFlowの導入
### インストール
```zsh
pip install --ignore-installed --upgrade \
 https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.1.0-py2-none-any.whl
```
### インストールの確認
```zsh
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
```
## Flaskの導入
### インストール
```zsh
pip install Flask
```
## WSGIの導入
### インストール
```zsh
pip install mod_wsgi
```
### PATHの設定
```zsh:.zshrc
if [ -d $(brew --prefix)/lib/python2.7/site-packages ];then
  export PYTHONPATH=$(brew --prefix)/lib/python2.7/site-packages:$PYTHONPAT
fi
```
※ 反映されない場合ははコンソールの再起動をかけてみてください。

# 全ページリンク
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ①紹介編](http://qiita.com/neriai/items/bd7bc36ec42c8ef65b2e)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ②環境構築編](http://qiita.com/neriai/items/c0114af9c2eae627b6ce)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ③画像収集編](http://qiita.com/neriai/items/bac92c54ca77ebb32ecc)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ④顔抽出編](http://qiita.com/neriai/items/cedc0de9e3722f53287a)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑤学習データ準備編](http://qiita.com/neriai/items/b525b6c9beb5b5d2f8fb)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑥学習プログラム編](http://qiita.com/neriai/items/6a662a49054bc544806d)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑦学習モデル編](http://qiita.com/neriai/items/bd4b880e968fd41119f1)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑧学習実行編](http://qiita.com/neriai/items/791e6f4dd8d08775542b)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑨データ可視化編](http://qiita.com/neriai/items/a7b47127462ecf0fcc1d)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑩顔分類試験編](http://qiita.com/neriai/items/652ced2227b0283ce35e)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑪Web公開準備編](http://qiita.com/neriai/items/bb88858cb5004cbb24d9)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑫Web公開編](http://qiita.com/neriai/items/808ee49e276060457c14)
- [TensorFlowを使ってDir en greyの顔分類器を作ってみた - ⑬遊んでみる編（最終回）](http://qiita.com/neriai/items/6c984fa1e7876e5140cf)