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

标签 python windows tensorflow keras keras-2

我正在使用 CNN、Keras 和 Windows 上的 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'

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

最佳答案

安装 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 进行安装时,具有该 pip 的默认 python 将可以访问您的安装。因此,如果您有多个 Python,建议明确如下:

python3 -m pip install packages 

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

更新:针对 Jupyter 笔记本/实验室用户

如果你已经有 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 环境之间进行选择。

关于python - 使用 pip3 安装 Keras,但出现 "No Module Named keras"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54050581/

相关文章:

python - Pandas:如何将多个模式(OR)与 np.where 匹配

windows - 当我使用 pytesseract 和 CREATE_NO_WINDOW 运行 tesseract 时如何隐藏控制台窗口

c# - Microsoft Server 2008 R2 不从任务计划程序写入文本文件

machine-learning - CNN : understanding weights output channel argument

tensorflow - 在 CPU 上运行 Tensorflow 比在 GPU 上运行速度更快

Python 从 json 值创建字典

Python 数据框导出到带引号 (") 的 csv

python - 如果我有 anaconda,如何在 PyCharm 上安装 GPflow?

python - 使用 python 和 quickdraw 绘制直方图

windows - 批量拆分一个文本文件