error:No module named 'keras.api'

环境:window10    tensorflow=2.9.1

 

前一个月还运行没问题的代码,今天在代码运行到 “from keras.utils import np_utils, plot_model” 时突然出现 Exception has occurred: ModuleNotFoundError: No module named 'keras.api' 的错误。找了一些资料,但是没有解决我的问题,后来换了个环境,因为新的环境没有安装 tensorflow,所以就安装了tensorflow,没想到在新环境下跑通了代码,找到了原因,分享给大家,希望大家能规避类似错误。

 

问题原因:没有安装keras或者 keras 和 tensorflow 版本不匹配。

 

解决方法:

(1)如果环境下没有安装 tensorflow 的那么就安装 tensorflow (pip install tensorflow)就可以解决问题,因为新安装的 tensorflow 会自动安装相匹配的 keras 版本,如果已经存在 keras 也会被卸载安装合适版本的 keras.

(2)如果已经安装了 tensorflow 的那么就要安装合适版本的keras才能解决问题,如在我的环境下 tensorflow 版本是 2.9.1,那么就需要安装 keras 2.9.0 版本(pip install keras==2.9.0)才可以解决这个 bug.

 

在安装指定版本的 keras 过程中,我又遇到了一个问题,就是我的当前运行的代码是用默认的 python 解释器(就是在安装 anaconda 之前先安装了 python 的那个解释器)而不是 anaconda 的全局 python 解释器,我想把我的这个 keras 安装到默认的 python 解释器下,找了下资源,没有找到合适的办法(当然,主要是这样做不规范,一般一个工程就要使用对应的虚拟环境,然后就可以在对应的虚拟环境中管理包),即我不知道怎么 pip 安装到的就是指定的默认的 python 解释器。后来我想到使用 pycharm 可以解决这个问题(虽然我平常更爱用 vscode),于是我就先把设置中的 Python Interpreter 定位到默认的 python 解释器下,然后添加指定 keras 版本的安装就把这个问题解决了。

 

 

 

posted @ 2022-09-01 09:42  ttweixiao9999  阅读(7870)  评论(0编辑  收藏  举报