Anaconda Spyder5导入tensorflow_hub提示找不到keras.api模块求助
解决方案
核心问题原因
当前报错核心有两点:一是conda虚拟环境的包和用户全局目录下的Python包出现路径冲突,二是TensorFlow、tensorflow-hub、keras、tensorflow-estimator四个包的版本不匹配。
可行操作步骤
- 第一步:清理冲突的全局包
报错日志显示代码调用了用户目录下的TensorFlow包,和conda环境的包产生冲突,先执行以下操作:- 激活你的
tenso虚拟环境 - 多次执行
pip uninstall tensorflow -y,直到提示不存在该包 - 打开路径
C:\Users\aurelio\AppData\Roaming\Python\Python38\site-packages,删除所有名称带tensorflow、keras、tensorflow-estimator的文件夹
- 激活你的
- 第二步:安装版本匹配的依赖包
TensorFlow 2.6.0对应的兼容版本为:keras2.6.0、tensorflow-estimator2.6.0、tensorflow-hub==0.12.0,在激活的虚拟环境中执行以下命令:pip install tensorflow==2.6.0 tensorflow-estimator==2.6.0 keras==2.6.0 tensorflow-hub==0.12.0 - 第三步:验证修复效果
重启Spyder后重新运行你的测试代码,即可正常输出TensorFlow和tensorflow-hub的版本号。
如果上述操作后仍报错,可改用conda命令安装相关依赖:
conda install tensorflow-hub=0.12.0 tensorflow-estimator=2.6.0 keras=2.6.0
注意:不要在同一个环境中同时安装
tensorflow和tensorflow-gpu包,2.6及以上版本TensorFlow已经整合CPU和GPU支持,同时安装会触发版本冲突。
内容的提问来源于stack exchange,提问作者AureliuS
相关产品推荐
相关产品推荐

