如何安装Keras与TensorFlow子模块?tensorflow.keras导入失败求助
问题解答
1. 如何安装Keras和TensorFlow的子模块?
针对你的Python 3.6环境,分两种场景说明:
使用TensorFlow自带的Keras(推荐):TensorFlow 1.15已经内置了Keras(即
tf.keras),无需单独安装独立版Keras。直接安装对应版本的TensorFlow即可:pip install --upgrade pip pip install tensorflow==1.15安装完成后,
tensorflow.keras相关子模块就能直接使用。安装独立版Keras:如果确实需要独立Keras,要注意版本兼容性——TensorFlow 1.15最好搭配Keras 2.2.4或2.3.1(你的2.1版本太老,兼容性较差)。安装命令:
pip install keras==2.2.4
2. 解决No module named 'tensorflow.keras'导入错误
你的环境(Python3.6 + TF1.15 + Keras2.1)出现这个错误,核心是独立Keras版本与TensorFlow内置Keras不兼容,再加上路径冲突导致的:
问题根源
- Keras 2.1是独立版本,它的导入路径为
keras.xxx,而非tensorflow.keras.xxx; - TensorFlow 1.15内置的Keras版本是2.2.4-tf,和你安装的独立Keras 2.1版本冲突,导致
tensorflow.keras路径无法正常识别。
可行解决方案
方案一:切换到独立Keras的导入语法(快速解决)
既然你已经安装了独立Keras 2.1,直接修改导入代码为:
from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D from keras.optimizers import Adam from keras.preprocessing.image import ImageDataGenerator
这样就能直接使用你当前安装的Keras,避开tensorflow.keras的路径问题。
方案二:卸载独立Keras,使用TF内置Keras(长期稳定)
- 先卸载现有Keras:
pip uninstall keras -y - 重新安装TensorFlow 1.15,确保内置的
tf.keras完整:pip install tensorflow==1.15 --force-reinstall - 重启Spyder IDE后,你原来的导入语句就能正常运行了。
额外提示
- 如果你用Anaconda管理环境,建议用conda命令安装,避免pip和conda的包冲突:
conda install tensorflow==1.15 - 每次修改包后,一定要重启Spyder——IDE需要重新加载环境才能识别新的包路径。
内容的提问来源于stack exchange,提问作者Ashutosh




