Spyder控制台找不到keras模块

Posted

技术标签:

【中文标题】Spyder控制台找不到keras模块【英文标题】:Spyder console can't find keras module 【发布时间】:2018-11-28 22:53:22 【问题描述】:

我有一个使用 Anaconda 创建的虚拟环境。激活后,我可以启动 python3 shell 并导入 keras 库,我会收到以下警告,但否则它似乎可以工作。

/home/ryan/anaconda3/envs/spyderudemy/lib/python3.6/site-packages/h5py/init.py:36: FutureWarning: issubdtype 的第二个参数从 floatnp.floating 已弃用。以后会处理的 作为np.float64 == np.dtype(float).type。从 ._conv 导入 register_converters as _register_converters 使用 TensorFlow 后端。

现在,如果在我的终端中激活了虚拟环境并从该终端启动 Spyder IDE,我将无法访问 IPython 控制台中的 keras 库。具体来说,导致我出现问题的导入是:

从 keras.models 导入顺序

IPython shell 中的输出是:

ModuleNotFoundError: 没有名为“keras”的模块

我使用的是 Ubuntu 16.04,当我启动 Spyder 时,它会显示在控制台顶部:

Python 3.6.5 |Anaconda 自定义(64 位)| (默认,2018 年 4 月 26 日, 13:46:40)

如果我执行,从我的普通 bash 终端

python3 -c '导入系统,pprint; pprint.pprint(sys.path)'

我明白了:

['', '/home/ryan/anaconda3/envs/spyderudemy/lib/python36.zip', '/home/ryan/anaconda3/envs/spyderudemy/lib/python3.6', '/home/ryan/anaconda3/envs/spyderudemy/lib/python3.6/lib-dynload', '/home/ryan/anaconda3/envs/spyderudemy/lib/python3.6/site-packages']

尽管我认为 Tensorflow 应该包含在 Anaconda 包中,但由于它不起作用,我还是使用 pip3 将它安装在 env 中,如下所示:

sudo pip3 install --upgrade tensorflow

我使用 sudo 是因为我遇到了权限错误,并且我认为输出看起来还不错:

目录'/home/ryan/.cache/pip/http'或其父目录是 不属于当前用户并且缓存已被禁用。请 检查该目录的权限和所有者。如果执行 pip 使用 sudo,您可能需要 sudo 的 -H 标志。目录 '/home/ryan/.cache/pip' 或其父目录不属于 当前用户和缓存轮已被禁用。检查 该目录的权限和所有者。如果使用 sudo 执行 pip, 您可能需要 sudo 的 -H 标志。收集tensorflow下载 https://files.pythonhosted.org/packages/6d/dc/464f59597a5a8282585238e6e3a7bb3770c3c1f1dc8ee72bd5be257178ec/tensorflow-1.8.0-cp35-cp35m-manylinux1_x86_64.whl (49.1MB) 100% |████████████████████████████████| 49.1MB 33kB/s 收集 tensorboard=1.8.0 (from tensorflow) 下载 https://files.pythonhosted.org/packages/59/a6/0ae6092b7542cfedba6b2a1c9b8dceaf278238c39484f3ba03b03f07803c/tensorboard-1.8.0-py3-none-any.whl (3.1MB) 100% |████████████████████████████████| 3.1MB 466kB/s 采集轮>=0.26(来自tensorflow)正在下载 https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl (41kB) 100% |████████████████████████████████| 51kB 3.3MB/s 正在收集 numpy>=1.13.3 (来自 tensorflow) 正在下载 https://files.pythonhosted.org/packages/43/17/cd9fa14492dbef2aaf22622db79dba087c10f125473e730cda2f2019c40b/numpy-1.14.5-cp35-cp35m-manylinux1_x86_64.whl (12.1MB) 100% |████████████████████████████████| 12.1MB 131kB/s 收集 gast>=0.2.0(来自 tensorflow) 收集 protobuf>=3.4.0(来自 张量流)下载 https://files.pythonhosted.org/packages/11/c4/8a35f5af5f26040ae7f3d521875e43429d2955d598fa3f2d0b6b88133bb1/protobuf-3.6.0-cp35-cp35m-manylinux1_x86_64.whl (7.1MB) 100% |████████████████████████████████| 7.1MB 223kB/s 要求已经是最新的:6>=1.10.0 in /usr/local/lib/python3.5/dist-packages(来自 tensorflow)正在收集 termcolor>=1.1.0(来自tensorflow)收集absl-py>=0.1.6(来自 tensorflow) 收集 astor>=0.6.0 (from tensorflow) 下载 https://files.pythonhosted.org/packages/b2/91/cc9805f1ff7b49f620136b3a7ca26f6a1be2ed424606804b0fbcf499f712/astor-0.6.2-py2.py3-none-any.whl 收集grpcio>=1.8.6(来自tensorflow)下载 https://files.pythonhosted.org/packages/c6/b8/47468178ba19143e89b2da778eed660b84136c0a877224e79cc3c1c3fd32/grpcio-1.12.1-cp35-cp35m-manylinux1_x86_64.whl (9.0MB) 100% |████████████████████████████████| 9.0MB 182kB/s 采集markdown>=2.6.8(来自tensorboard=1.8.0->tensorflow) 下载 https://files.pythonhosted.org/packages/6d/7d/488b90f470b96531a3f5788cf12a93332f543dbab13c423a5e7ce96a0493/Markdown-2.6.11-py2.py3-none-any.whl (78kB) 100% |████████████████████████████████| 81kB 3.8MB/s 收集 html5lib==0.9999999(来自 tensorboard=1.8.0->tensorflow) 收集漂白剂==1.5.0(来自tensorboard=1.8.0->tensorflow) 下载 https://files.pythonhosted.org/packages/33/70/86c5fec937ea4964184d4d6c4f0b9551564f821e1c3575907639036d9b90/bleach-1.5.0-py2.py3-none-any.whl 收集 werkzeug>=0.11.10 (从 tensorboard=1.8.0->tensorflow) 正在下载 https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB) 100% |████████████████████████████████| 327kB 1.8MB/s 收集 setuptools (from protobuf>=3.4.0->tensorflow) 下载 https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl (567kB) 100% |████████████████████████████████| 573kB 1.5MB/s 安装收集的包:markdown、numpy、html5lib、wheel、setuptools、 protobuf, 漂白剂, werkzeug, tensorboard, gast, termcolor, absl-py, astor, grpcio, tensorflow 找到现有安装:numpy 1.13.3 卸载 numpy-1.13.3: 成功卸载numpy-1.13.3 发现现有安装:html5lib 0.999 卸载 html5lib-0.999: 成功卸载html5lib-0.999 找到现有安装:wheel 0.29.0 卸载wheel-0.29.0: 成功卸载wheel-0.29.0 找到现有安装:setuptools 20.7.0 卸载 setuptools-20.7.0: 成功卸载 setuptools-20.7.0 找到现有安装:protobuf 3.4.0 卸载 protobuf-3.4.0: 成功卸载protobuf-3.4.0 成功安装absl-py-0.2.2 astor-0.6.2bleach-1.5.0 gast-0.2.0 grpcio-1.12.1 html5lib-0.9999999 markdown-2.6.11 numpy-1.14.5 protobuf-3.6.0 setuptools-39.2.0 tensorboard-1.8.0 tensorflow-1.8.0 termcolor-1.1.0 werkzeug-0.14.1 wheel-0.31.1 但是您使用的是 pip 版本 9.0.1 版本 10.0.1 可用。您应该考虑通过 'pip install --upgrade pip' 命令。

如果有人对这个问题有任何建议,我将不胜感激。

【问题讨论】:

【参考方案1】:

现在,如果在我的终端中我激活了虚拟环境并且 [...].

那么你有没有在虚拟环境中安装keras?如果没有,请尝试使用 Anaconda 安装部分。

应该是这样的:

(your_env_name) conda install your_package_name

【讨论】:

这是正确答案,但应该是conda install keras?我以为 keras 包是随 Tensorflow 一起提供的,所以我没有。使用 pip3 安装给了我[Errno 13] Permission denied 错误所以我的最终解决方案是easy_install keras @ryanpickles:你是对的,这是一个错字,我最近对 ​​tensorflow 太深入了......我很高兴知道你已经解决了它:)【参考方案2】:

要更新最新的 TensorFlow 1.8 版本,首先需要将 pip 更新到最高版本。

pip install --upgrade pip

个人的另一个建议是在anaconda下的anaconda prompt对应的envs中安装Keras和TensorFlow,或者在anaconda Navigator对应的环境下直接安装Keras(这个库直接依赖相关的TensorFlow库)。

【讨论】:

以上是关于Spyder控制台找不到keras模块的主要内容,如果未能解决你的问题,请参考以下文章

找不到 pygame 模块(Windows 10、Spyder IDE 版本 4.1.3、Python 3.8)

安装Anaconda3后,Spyder、Ipython等图标找不到

sh:转换:在 spyder 上找不到命令

找不到名为“my”的模块。找不到名为“mycontroller”的控制器

在pycharm上找不到Numpy但是在spyder上工作

无法在 Spyder 中导入张量流