MacOS M2环境下TensorFlow导入Keras失败问题求助
解决MacOS M2上TensorFlow与Keras导入冲突问题
问题根源
你遇到的问题大概率是单独安装的Keras与tensorflow-macos版本冲突,或是环境中残留了旧版本的TensorFlow/Keras包导致的。TensorFlow 2.x版本已经内置了Keras,单独安装独立版Keras会和TF内置的Keras产生命名空间冲突,尤其是在M2 Mac的专属tensorflow-macos环境下。
分步解决方案
1. 彻底清理现有冲突包
先把所有相关包完全卸载,避免残留:
pip uninstall -y tensorflow tensorflow-macos keras tensorflow-metal
卸载后检查是否还有残留包:
pip list | grep -E "tensorflow|keras"
如果输出里还有相关包,用pip uninstall -y [包名]手动卸载干净。
2. 重新安装适配M2的TensorFlow环境
M2 Mac必须用tensorflow-macos而非普通的tensorflow包,而且不需要单独安装Keras(TF 2.13.0内置的Keras正好是2.13.1,版本完全匹配):
# 安装tensorflow-macos 2.13.0 pip install tensorflow-macos==2.13.0 # 可选:安装tensorflow-metal以启用M2 GPU加速(对应TF2.13的版本是0.9.0) pip install tensorflow-metal==0.9.0
3. 验证导入是否正常
打开Python终端,执行以下代码测试:
import tensorflow as tf # 打印内置Keras版本,应该输出2.13.1 print(tf.keras.__version__) # 测试导入load_model from tensorflow.keras.models import load_model
如果没有报错,说明环境已经修复。
4. 额外建议:用虚拟环境隔离
为了避免后续环境冲突,建议用Python虚拟环境管理这个TensorFlow环境:
# 创建虚拟环境 python3 -m venv tf-env # 激活虚拟环境 source tf-env/bin/activate # 然后在激活的环境里执行上面的安装步骤
内容的提问来源于stack exchange,提问作者Ankur Kumar
相关产品推荐
相关产品推荐

