导入错误:找不到名为'keras'的模块。

30

基本上,我对编程和使用Python还比较陌生。我正在尝试构建一个需要使用TensorFlow、Theano和Keras库的ANN模型。我在Windows 10 x64上安装了Anaconda 4.4.1和Python 3.5.2,并按照以下方法安装了这些库:

  1. 创建一个新的环境,使用Anaconda和Python 3.5:conda create -n tensorflow python=3.5 anaconda
  2. 激活环境:activate tensorflow
  3. 之后,您可以安装Theano、TensorFlow和Keras:conda install theano, conda install mingw libpython, pip install tensorflow, pip install keras,
  4. 更新软件包:conda update --all

所有这些软件包都已正确安装,并且我已通过conda list进行了检查。然而,当我尝试导入这3个库(即TensorFlow、Theano和Keras)中的任何一个时,都会出现以下错误:

Traceback (most recent call last):
File "<ipython-input-3-c74e2bd4ca71>", line 1, in <module>
import keras
ImportError: No module named 'keras'

听起来你已经正确安装了。所以我假设你是从命令行或编辑器中运行一些py文件? - Bob Haffner
你正在使用哪个Python解释器? - DJK
我能够按照这篇帖子中列出的步骤成功地启动了Keras。 - samthebrand
这是我通常安装与keras相关的所有内容的方法。 - Deepak Sadulla
由于您正在使用iPython,请查看我在其他StackOverflow帖子中的相关问题 - bizi
15个回答

26

您好,如果您使用的是Anaconda-Navigator,可以尝试以下解决方案:

进入Anaconda环境,搜索Keras软件包,然后进行安装

安装Keras

输入图像描述

安装完成后,在shell中输入import keras即可使用。

输入图像描述


3
奇怪...在Anaconda Navigator搜索时我找不到Keras。 - samthebrand
在同一门课程上遇到了相同的问题:) 感谢您提供的解决方案! - Porco

9

你尝试过使用Keras文档吗?

从PyPI安装Keras(推荐):

注意:这些安装步骤假定你在Linux或Mac环境下。如果你在Windows上,你需要删除sudo以运行以下命令。

sudo pip install keras

如果您正在使用虚拟环境,您可能希望避免使用sudo
pip install keras

来自:https://keras.io/


9
现在您需要安装TensorFlow,然后编写如下代码,例如:
import tensorflow as tf
...
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(12, input_dim=8, activation='relu'))
model.add(tf.keras.layers.Dense(8, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))
 ...

适用于Tensorflow版本:2.4.1。

或者只需输入:

import tensorflow as tf
from tensorflow import keras
...

5

尝试

import sys
print(sys.path)

请检查您的Anaconda site-packages文件夹是否在列表中。

它应该类似于WHERE_YOU_INSTALLED_ANACONDA\anaconda3\envs\ENVIRONMENT_NAME\lib\python3.5\site-packages

如果路径设置正确,则尝试列出文件夹内容,并查看Keras,TensorFlow和Theano是否在此文件夹中。


3
我花了整整一天的时间来安装Keras,尝试了所有可用的在线方法,几乎快死了。但是我仍然无法导入keras。
(1). 在使用conda install或pip install之后,并删除"1>null>2&1"…我通过激活tensorflow_cpu在conda提示符中激活,但无论如何都无法正常工作。
(2). 然后检查了keras,并打印出os.path(),没有虚拟环境。我非常疑惑,只好把虚拟环境env中的所有keras数据文件都复制到"C:\Users\Administrator\Anaconda3\Lib\site-packages"中。
(3). 现在,tensorflow和keras都可以正常工作。

3

在更换电脑并下载最新的Anaconda(附带python 3.6)后,我遇到了一个非常类似的问题。在自己的环境中安装python 3.5并安装keras没有问题,但是import keras一直失败。

我的不太优雅的解决方案(假设您已经在全局环境中成功安装了tensorflow/theano/cntk)?

将安装到Anaconda3/envs//Lib/site-packages/keras的keras文件夹移动到Anaconda3/Lib/site-packages/keras。现在,import keras在通过开始菜单启动的jupyter笔记本上运行时会出现警告,但它确实可以工作,并正确返回keras正在运行的后端。


2

我通过根据anaconda网站中的说明,在终端中运行以下命令之一来解决了这个问题。

要使用conda安装此软件包(keras) ,请运行以下命令之一:

  • conda install -c conda-forge keras conda install -c
  • conda-forge/label/broken keras conda install -c
  • conda-forge/label/cf201901 keras conda install -c
  • conda-forge/label/cf202003 keras

如果您以前从未使用过conda,请查看anaconda


2

点击“更新索引”,然后再次尝试搜索Keras。


2
请提高这篇文章的质量,包括一些解释为什么这是一个合适的解决方案,可能还要包括一些参考资料。这将提高您的文章对原帖和未来的 SO 读者的教育价值。 - mickmackusa

2
我遇到了同样的问题:
conda 4.13.0
tensorflow 2.6.0

注意:我们不必单独安装Keras,因为它随Tensorflow一起提供,从Tensorflow 2.0开始。

症状:
导入Keras (from tensorflow import keras) 没有 报错,但是对Keras的任何进一步引用都会抛出"ModuleNotFoundError"错误,例如以下语句将失败:
print(keras.__version__)
from keras import Sequential

我仍然没有直接的解决方案,这更像是一个变通方法,但是下面是:

  1. 使用完整的自上而下的导入语法和实例化从Keras导入任何类
  2. 真正地导入Keras

例如:

from tensorflow.keras.layers import Dense
layer = Dense(10)
from tensorflow import keras

现在以下语句应该可以工作:
print(keras.__version__)
model = keras.models.Sequential()

这似乎是一种懒惰的模块加载出了问题。

1
以下是一种直接简单的解决方法,#卸载Keras和TensorFlow。
py -3 -m pip uninstall keras
py -3 -m pip uninstall tensorflow

#现在安装具有依赖关系的所需版本的keras和tensorflow。

py -3 -m pip install keras
py -3 -m pip install tensorflow

上述修复方法对我有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接