【備忘録】ゼロから入れるWindows 10にTensorflow1.12をインストール (with Anaconda3)


#はじめに
Windows10上のTensorflowがちょくちょく動かなくなったり、新しいバージョンを入れたりすると環境が壊れることがよくなるので、再インストールすることも多いので備忘録です。
~~Docker使えっていう突込みはご遠慮ください。。。~~
2018/12/15時点です。
## 最新版(Anaconda3 3.5.1)でTensorflowを入れるのは至難の業のよう？
単純に出来そうに思いますが、Anaconda仮想環境入れてpython3.6の環境用意してと、必要なパッケージ入れてとなかなか大変です。
~~面倒くさいので諦めました~~
python3.7の機能でこれがないと(Tensorflowを使わない環境下で)という人のみ頑張ったほうがよさそうです。
python3.7の新機能：https://qiita.com/ksato9700/items/35a0bdc04693b3b09757

\#あと、なぜか私の環境でAnaconda 3.5.1で入れるとsklearnのimportがnumpyのせいで失敗します。
\#回避するためには、Anaconda入れた後に  `conda install numpy`します。
## それでもどーしても。。。って人
なお、"Python3.7"で構築したい！って人もいるかもしれませんが、
現状いろいろな記事にある通り無理そうです。
アップデートを待ちましょう。


#0. 環境・入れるもの
- 環境
    - Windows10
    - Pythonは入っていないこと
        - pythonが入っている場合は、PATHの設定を注意する必要があります
- Anaconda 
    - version : 3.2.0
- Python
    - version : 3.6
- Tensorflow
    - version : 1.12

空き容量はAnacondaだけで4GB程使うので、
Cドライブを開けとかないと大変です。

#1. Anacondaを入れる
[Anaconda Download](https://www.anaconda.com/download/)
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/ef0e05a2-7e96-a5d9-8c21-d0771693635a.jpeg">
ここからダウンロードしたいですが、旧バージョンはここに表示されていません。
なので下記リンクからダウンロードしましょう
[Anaconda Installer Archive](https://repo.continuum.io/archive/)
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/95e28f74-dd20-3e45-cf51-7fe96b388268.jpeg" width="75%">
昔のバージョンもあるので、好きなものでがいいですが、今回は
Python3.6の入っているAnaconda3 5.2.0をインストールします。
※Anaconda"2"も同じところにあるので、2-3の違いに気を付けてください。
リンク：https://repo.continuum.io/archive/Anaconda3-5.2.0-Windows-x86_64.exe

600MB近くあるので、データ容量は注意。

実行すると下のようなウインドウが出る。
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/d736c311-d509-e7bb-e328-a8e91344ec70.jpeg" width="50%">
基本は[Next >]
規約を見て[I Agree]
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/6d93b99e-d4fa-631b-f3ad-daedc69794e1.jpeg" width="50%">
このウィンドウが出た時がミソで、
[Just Me]ならそのユーザのみ、
[All Users]なら全員になるので、システム管理者のパスワードが必要
いろいろなユーザのいるPCを想定して[All Users]で入れた場合で進めます。

All Usersの場合、[ユーザアカウントの制御]が出てくるので、
必要に応じてパスワードを入れること。

<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/6a9d538c-40c9-03f5-6b2e-07b8a5827deb.jpeg" width="50%">

[Next >]
ここで出てくるパスは後で使うので。
メモ。

<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/bb678539-a27a-e025-6b54-1f52d1923fde.jpeg" width="50%">


[Add Anaconda to the system PATH environment variable]
PATHを切ると開発とかでは結構面倒なのですが、
特に分析しないからいいやー　とか　まだpython入れてないからいいよー　
とか　パスの設定めんどい
な人はチェック入れてください。
ここではチェックを入れずに進めます。

[Next >]をするとインストールが始まります。
結構時間かかるので、待ちましょう。

終わって[Next >]すると
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/6a8681f4-0dcb-40f9-739f-27bc03ca99a7.jpeg" width="50%">
となるのでほしい人は入れてください。
VSCode私は好きです。
ですが、すでに入っているので[Skip]します。
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/2865f2ee-0267-87b5-ed49-a91a2a9116ce.jpeg" width="50%">
[Finish]ですね。

#2. Pythonを動かす
コマンドプロンプトで実行すると

```
> python
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
```
ってなります。
Pathが通ってない人だけなので、動いた人は飛ばしてください。

コントロール パネル￥すべてのコントロール パネル項目￥システム
を出します。
PCを右クリックして[プロパティ]で出てきます。
コントロールパネルから探してもOKです。
[システムの詳細設定]を選ぶと下の画面が出ます
\#ここでパスワード求められるかもしれないです。
<img src="https://qiita-image-store.s3.amazonaws.com/0/202955/bbfd7c7c-0fa6-8bbe-65b8-47dfb860cad9.jpeg" width="50%">
ここの[環境変数]を選ぶと、環境変数のウィンドウが出ます。
\#画像張りたいですが、いろいろ変数系乗っちゃっているので、言葉のみで。
下の[システム環境変数]にある表の変数列に[Path]があると思うので、
ダブルクリックor選択後[編集]を押す
すると環境変数名の編集のウィンドウが出るので、
[新規]を押して、

```
C:\ProgramData\Anaconda3\
C:\ProgramData\Anaconda3\Scripts\
C:\ProgramData\Anaconda3\Library\bin
```

を入れます。

#3. Tensorflowを入れる

[All Users]の場合、コマンドプロンプトは[管理者]で実行してください
とりあえずアップデート。

```
 > conda update conda
 > conda update --all
```

\#ちなみにここで、pythonが3.6.5から3.6.6に上がります
とりあえず、Tensorflowのパッケージを見てみると

```
 > conda search tensorflow
Loading channels: done
# Name                  Version           Build  Channel
tensorflow               0.12.1          py35_1  conda-forge
tensorflow               0.12.1          py35_2  conda-forge
##
#省略
##
tensorflow               1.11.0 eigen_py36h346fd36_0  pkgs/main
tensorflow               1.11.0 gpu_py36h5dc63e2_0  pkgs/main
tensorflow               1.11.0 mkl_py36h41bbc20_0  pkgs/main
tensorflow               1.12.0 eigen_py36h67ac661_0  pkgs/main
tensorflow               1.12.0 gpu_py36ha5f9131_0  pkgs/main
tensorflow               1.12.0 mkl_py36h4f00353_0  pkgs/main
```
いろいろバージョンありますね。。。
ただ、よくよく見ると、新しいバージョンはpy36 or py35になっているのでpy37ではインストールできない。
\#もしかしたら対応してるかもしれないので、その場合は3.7でも入れられるかもです。

```
> conda install tensorflow
##
#省略
##
 tensorflow:  1.10.0-py36_0            conda-forge
##
#省略
##
```
となり、Tensorflow 1.10なのでこれで問題なければ、そのまま入れてください。
Tensorflow 1.12入れたい場合は、

```
> conda install tensorflow=1.12
```
としましょう。
インストール後、

```
>python
Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.12.0'
```
となっていればインストール完了です。

以上。

#参考
 - https://pycarnival.com/tensorflow_python37/
 - https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679
 - https://stackoverflow.com/questions/38699494/importerror-cannot-import-name-show-config
 - https://qiita.com/kiyoneet/items/f440ac890e1a7a5931e8
 - https://qiita.com/ksato9700/items/35a0bdc04693b3b09757
 - https://github.com/tensorflow/tensorflow/issues/20444