使用 pip3 安装 Keras,但出现 "No Module Named keras" 错误

Installed Keras with pip3, but getting the "No Module Named keras" error

我正在 Windows 使用 CNN、Keras 和 Tensorflow 后端创建叶识别分类器。我已经安装了 Anaconda、Tensorflow、numpy、scipy 和 keras。

我使用 pip3 安装了 keras:

C:\> pip3 list | grep -i keras
Keras               2.2.4
Keras-Applications  1.0.6
Keras-Preprocessing 1.0.5

但是,当我 运行 我的项目出现以下错误时

ModuleNotFoundError: No module named 'keras'

为什么找不到模块,我该如何解决这个错误?

听起来您可能使用 pip3 进行安装,同时在您的计算机上安装了多个 python。

在安装 Anaconda 之前,您是否碰巧在计算机上安装了 python?有时您的 PATH 变量中的 pip3 与 Anaconda 的版本不同。

试试这个,然后再 运行 您的代码:

conda install keras

运行 conda list 查看你的Anaconda中是否安装python 安装:

conda list

更新

如果还是不行,试试这个:

\path\to\Anaconda\python\python3 -m pip3 install keras

这使用 pip3 但确保在安装 keras 时选择正确的安装。

安装 Anaconda 然后使用 pip 接缝安装包就像混淆 Anaconda(或任何其他包管理工具)的目标

Anaconda 可帮助您组织环境及其依赖项。

假设您的系统路径上有 conda,请执行以下操作:

更新conda

conda update conda

我们可以使用 python 3.6 创建一个名为 'awesome' 的环境,并添加 anaconda 附带的所有很棒的数据科学包(numpy、scipy、jupyter notebook/lab 等),以及tensorflow和keras。如果需要,您可以删除 anaconda 和最小包装。

conda create -n awesome python=3.6 anaconda tensorflow keras

过了一段时间,一切正常,激活你的环境,测试我们是否可以导入keras。

conda activate awesome
python -c "import keras"

做完很棒的事情后,您可以这样停用:

conda deactivate

conda 比 pip 更好,因为它处理库兼容性。它为您升级和降级软件包。

有时 Anaconda 的美妙之处在于您可以只安装主包,它会为您安装所有依赖项,因此您可以这样做:

conda create -n awesome python=3.6 keras

这里会自动找到所有keras依赖的或者设置为默认的包如tensorflow和numpy

你做错了什么:
你得到那个错误是因为你的 python sys.path 找不到你安装的包。

你可以做到:

python -c "import sys;print(sys.path)"

这将打印出您的 python 寻找包裹的位置。很有可能keras库的路径不是其中之一。

当您只使用 pip 进行安装时,默认的 python 具有该 pip 将可以访问您的安装。所以如果你有多个 Pythons,建议是明确的,比如:

python3 -m pip install packages 

所以这里你确定是python3目录下的Python安装的。这就是我们需要使我们的 Python 版本和依赖性保持不同且易于控制的环境的地方。 Anaconda、Pipenv、Poetry、piptools 等都在努力帮助您更好地管理系统 ;)

更新:对于 Jupyter Notebook/Lab 用户

如果你已经有 Jupyter,比如在你的基础环境中,我们可以添加 awesome 作为另一个内核:

conda activate awesome 
(awesome ) conda install ipykernel -y
(awesome) python -m ipykernel install --user --name my_env --display-name "Awesome"
conda deactivate

现在,如果您 运行 Jupyter,您应该可以在 Base Python 和 Awesome 环境之间进行选择。

它帮助我首先在命令行上检查 Keras 是否确实如上一个答案中所述安装了。

python -c "import keras"

如果您在使用该命令时遇到错误,您可能没有在正确的环境中安装 keras。

经过多种解决方案后,我仍然遇到错误。结果我不得不重新启动我的 jupyter notebook 以使更改生效 - 以防万一你使用的是 notebook。

我也遇到过同样的情况。我卸载了keras然后重新安装了一个特定的版本,它成功了。

pip uninstall keras

然后这个 -->

pip install keras==2.2.4

确保您正在使用的 pip 实例连接到您正在使用的同一 python 实例。由于我的机器上有几个 python 安装,我通过直接使用我想要的 python 版本的 pip 模块来避免它们之间的混淆,而不是使用 pip:

python3 -m pip install keras
python3 -c "import keras" // <-- should execute without an error