問題が起こった経緯と、解決方策を簡潔に述べます。
問題を起こした背景
-
- Anacondaでデフォルトとは異なるバージョンの(Python3.5)の仮想環境をたてた。
-
- その後pipでいくつかのmoduleを入れた。(Tensorflowとか)
- pythonコードとしては実行できるのに、jupyterで書くとtensorflowがno moduleとなる。
同様のことがpipで入れたopencv-pythonなどにも起こった。
原因
原因はどうやら新しい環境にはjupyterが入っておらず、別環境のjupyterが呼ばれていたっぽいということ。
すなわち、当該仮想環境でjupyterを実行したにもかかわらず、別環境でjupyterが起動していたためmoduleを発見できなかったということらしい。
conda list でみても確かにjupyterもipythonも入っていなかった。
conda list
# packages in environment at C:\Users\XXXX\AppData\Local\conda\conda\envs\tf35:
#
# Name Version Build Channel
absl-py 0.1.12 <pip>
astor 0.6.2 <pip>
bleach 1.5.0 <pip>
certifi 2018.1.18 py35_0
gast 0.2.0 <pip>
grpcio 1.10.0 <pip>
html5lib 0.9999999 <pip>
Keras 2.1.5 <pip>
Markdown 2.6.11 <pip>
numpy 1.14.2 <pip>
opencv-python 3.4.0.12 <pip>
pip 9.0.1 py35_5
protobuf 3.5.2.post1 <pip>
python 3.5.5 h0c2934d_1
PyYAML 3.12 <pip>
scipy 1.0.1 <pip>
setuptools 39.0.1 <pip>
setuptools 38.5.1 py35_0
six 1.11.0 <pip>
tensorboard 1.6.0 <pip>
tensorflow-gpu 1.6.0 <pip>
termcolor 1.1.0 <pip>
vc 14 h0510ff6_3
vs2015_runtime 14.0.25123 3
Werkzeug 0.14.1 <pip>
wheel 0.30.0 py35h38a90bc_1
wheel 0.30.0 <pip>
wincertstore 0.2 py35hfebbdb8_0
解決策
jupyterを入れましょう。
conda install jupyter
で解決。
余談
余談だが、一般にanacondaとpipを混用すると危険とある。
依存関係が管理できないような場合にはcondaに統一したほうが良さそうだ。
でもこの手順守っている人どれだけいるんだ?(横着)