conda安装Keras依赖Bug:已装tensorflow-gpu仍自动安装tensorflow
解决Conda安装Keras时替换TensorFlow-GPU为CPU版本的问题
环境背景
- 系统:Ubuntu 16.04 64位
- 硬件:nVidia GPU
- 包管理工具:conda 4.5.2
问题描述
最近配置深度学习环境时遇到了一个依赖解析的Bug:我先在conda虚拟环境中安装了tensorflow-gpu==1.7.0,随后执行conda install keras安装Keras。虽然Keras最终安装成功,但conda却自动下载并安装了无法使用的TensorFlow CPU版本,直接覆盖了原本的GPU版本。根源在于Keras的conda包没有识别到环境中已存在的tensorflow-gpu,错误地拉取了CPU版作为依赖。
临时修复方案
我通过以下步骤解决了问题:
- 先卸载意外安装的TensorFlow CPU版本:
conda remove tensorflow - 改用pip安装Keras,避开conda的依赖解析问题:
python3.6 -m pip install keras
额外说明与期望
虽然pip安装能临时解决问题,但我更倾向于用conda统一管理所有包——毕竟它在环境隔离和依赖冲突处理上的表现更稳定。希望Anaconda官方能尽快修复Keras包的这个依赖识别Bug,让用户可以继续用conda流畅管理深度学习环境。
另外提一句,Ubuntu系统上Python3.6和3.5存在版本冲突导致模块找不到的问题,本次就不展开讨论这个点了。
内容的提问来源于stack exchange,提问作者radzfoto
相关产品推荐
相关产品推荐

