为何在Anaconda中Matplotlib与Keras、TensorFlow无法同时使用?
解决Anaconda环境中Keras/TensorFlow与Matplotlib互斥问题
嘿,这个问题我之前折腾环境的时候也碰到过,大概率是依赖冲突或者环境操作失误导致的,咱们来捋清楚原因和解决办法:
可能的原因
- 环境切换失误:你有没有可能在安装Matplotlib的时候,不小心切到了base环境或者其他环境?比如你激活了
keras环境装Keras,但装Matplotlib时又切回了base,结果在keras环境里看不到Matplotlib,切换到base又看不到Keras,就显得它们“互相消失”了。 - 版本依赖冲突:你用的是Python3.7.6,有些旧版本的Keras、TensorFlow和Matplotlib依赖的底层包版本不兼容。conda为了满足新安装包的依赖要求,会自动卸载冲突的包,这就导致装了Matplotlib就把Keras/TensorFlow卸了,反过来装Keras也会把Matplotlib卸了。
解决步骤
1. 先确认当前激活的环境
每次操作前先跑这个命令,确保你在正确的keras环境里:
conda info --envs
输出里前面带*的就是当前激活的环境,一定要保证所有安装操作都在keras环境下执行。
2. 统一安装所有需要的包
激活环境后,一次性把所有需要的包装进去,让conda自动处理依赖兼容问题:
conda activate keras conda install keras tensorflow matplotlib
这样conda会自动筛选出一组互相兼容的版本来安装,避免逐个安装时的冲突。
3. 如果还是冲突,指定兼容版本
如果上面的命令报错,你可以指定Matplotlib的兼容版本(Python3.7.6适合用3.3.x系列的Matplotlib):
conda install keras tensorflow matplotlib=3.3.4
要是conda还是搞不定,也可以试试用pip安装Matplotlib(不过尽量优先用conda,避免混合包管理出问题):
pip install matplotlib
4. 验证安装结果
安装完成后,在keras环境里运行这个命令,检查三个包都在列表里:
conda list
内容的提问来源于stack exchange,提问作者user12904074
相关产品推荐
相关产品推荐

