Jupyter无法找到keras'模块

时间:2017-04-22 10:03:22

标签: python anaconda keras jupyter-notebook

我已经安装了Anaconda的Tensorflow和Keras(在Windows 10上),我创建了一个使用Python 3.5.2的环境(Anaconda中的原始版本是Python 3.6)。 当我尝试执行import keras as ks时,我得到ModuleNotFoundError: No module named 'keras'

我试图通过sys.path.append(C:\\Users\\ ... \\Anaconda3\\python.exe)

解决此问题

同时使用笔记本和控制台,但我仍然会遇到同样的错误。

我该如何解决这个问题?

9 个答案:

答案 0 :(得分:3)

Jupyter在引擎盖下使用iPython,用于python。所以当你安装Jupyter时,它也会安装iPython。当我安装keras和Jupyter时出现了一个问题:我已经在我的根Anaconda环境中安装了iPython。这是我安装Jupyter和keras之后的输出:

In [2]: import sys; sys.path
Out[2]: 
['/home/user/anaconda3/bin',
 '/home/user/anaconda3/lib/python36.zip',
 '/home/user/anaconda3/lib/python3.6',
 '/home/user/.ipython']

请注意,即使我在我的conda环境中,它仍然在我的root conda环境中查找库。当然keras不在那里。

要修复的步骤只需重新激活我的环境,使用:

source deactivate && source activate [my_env]

然后我正在使用正确的ipython:

Out[2]: 
['/home/user/anaconda3/envs/ml3/bin',
 '/home/user/anaconda3/envs/ml3/lib/python36.zip',
 '/home/user/anaconda3/envs/ml3/lib/python3.6',
 '/home/user/.ipython']

答案 1 :(得分:3)

请尝试以下操作:

在jupyter笔记本单元中运行这些命令:

import sys

sys.path

sys.executable

它可能不是指向您的虚拟环境,而是指向根目录

解决方法是从虚拟环境内部安装jupyter笔记本

$ . your_env/bin/activate

(your_env)$ python -m pip install jupyter

现在您可以导入tensorflow或keras了

答案 2 :(得分:1)

(不是答案,而是一些故障排除提示)

sys.path不是Python可执行文件的路径,而是库的路径。

  • 检查Keras的安装位置并检查sys.path。你是如何安装Keras的?
  • 尝试从Python解释器执行相同的命令。你有同样的问题吗?
  • 你是如何安装Jupiter的,从那里可以看到的sys.path与Python解释器中可见的sys.path相同?
  • Jupiter和Keras是否使用相同版本的Python?

您可能会尝试卸载Jupiter并再次安装它,并希望新安装选择已安装的软件包。可能发生的情况是,您安装了多个Python,并且不同的库安装在不同的位置。当来自不同环境的请求时,sys.path可能会提示您是否为真。

答案 3 :(得分:0)

console和jupyter中的内核不一定相同,问题可能是你不在python 3.5上。

    python --version

应该告诉你在控制台中运行的是什么,在jupyter中你应该把它看作是启动新笔记本的一个选择。对我来说,

中的信息

Using both Python 2.x and Python 3.x in IPython Notebook

非常有帮助。

答案 4 :(得分:0)

我意识到我有两个不同的Jupyter目录,所以我手动删除了一个。最后,我重新安装了Anaconda。现在Keras工作正常。

答案 5 :(得分:0)

如果您是Windows / mac用户,并且正在使用Jupyter笔记本“ pip install keras”,则无济于事。请尝试以下步骤。为我解决了 1.在命令提示符下,导航到已安装的anaconda的“站点软件包”目录。 2.现在使用“ conda install tensorflow”和“ conda install keras”之后 3.重新启动Jupyter笔记本并运行软件包。

答案 6 :(得分:0)

当然,我执行了此命令pip install kerassudo -H pip3 install keraspip3 install keras。他们都没有工作。我添加了以下命令,并且一切正常运行: pip install Keras。是的,大写字母“ K”

答案 7 :(得分:0)

这是我解决此问题的方法。

首先是诊断。在Mac的终端窗口中运行which python时(我用来启动jupyter的同一终端,我得到/Users/myusername/.conda/envs/myenvname/bin/python,但是当我从终端运行相同的命令时在Jupyter中,我得到/usr/bin/python。所以Jupyter没有使用正确的python可执行文件;它使用的版本没有安装我的任何软件包。

但是which jupyter返回/usr/bin/jupyter;它使用的不是我的conda环境中的jupyter版本。我运行了conda install jupyter,现在which jupyter返回了/Users/myusername/.conda/envs/myenvname/bin/jupyter(出于某种原因,我不得不重新启动终端窗口才能使它生效。)然后,如果我重新启动jupyter notebook,则笔记本正在使用正确版本的Python,并且可以访问所有已安装的conda软件包。 ?

答案 8 :(得分:0)

我遇到了类似的问题。 我添加了 Conda 环境作为新内核。

首先安装ipykernel:

conda install ipykernel

接下来,创建内核:

python -m ipykernel install --user --name tf-gpu --display-name "TensorFlow-GPU"

现在,当您运行笔记本时,将内核更改为新内核,在本例中为“TensorFlow-GPU”。