問題が起こった経緯と、解決方策を簡潔に述べます。

問題を起こした背景

    • 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に統一したほうが良さそうだ。

でもこの手順守っている人どれだけいるんだ?(横着)

广告
将在 10 秒后关闭
bannerAds