升级Python至3.5后PyCharm中plt.show()异常求助
解决Python3.5 + PyCharm中matplotlib plt.show()失效及TkAgg后端报错问题
咱们先拆解下你碰到的问题:升级到Python3.5后,matplotlib的图形显示功能出了状况,虽然按DavidG的建议临时修复过,但手动指定TkAgg后端又触发了Anaconda虚拟环境路径相关的报错——这大概率和虚拟环境里的后端依赖缺失、PyCharm的环境配置不匹配有关。
下面是几个针对性的解决步骤:
1. 补全Anaconda虚拟环境中TkAgg的依赖包
你的报错路径指向sx_anaconda这个虚拟环境,很大可能是该环境里缺少Tkinter相关依赖。先激活虚拟环境,然后执行对应安装命令:
- 用conda安装:
conda activate sx_anaconda conda install tk
- 用pip安装:
conda activate sx_anaconda pip install tk
安装完成后重启PyCharm,再测试代码。
2. 让matplotlib自动适配后端,别强制指定TkAgg
手动指定TkAgg可能和你的系统或PyCharm的显示环境不兼容,不如让matplotlib自动检测最优后端。把代码改成这样试试:
import matplotlib.pyplot as plt # 注释掉强制指定后端的代码,让系统自动选择 # matplotlib.use('TkAgg') plt.plot([1,2,3,4]) plt.show()
如果需要固定后端,也可以在PyCharm的运行配置里设置:
- 打开
Run/Debug Configurations - 在
Environment variables中添加MPLBACKEND=Qt5Agg(Qt5Agg是多数系统都支持的带界面后端,适配性更强)
3. 确认PyCharm用的是正确的虚拟环境
有时候PyCharm会默认调用系统Python而非你配置的虚拟环境,检查步骤:
- 打开
File > Settings > Project: [你的项目名] > Python Interpreter - 确认选中的解释器路径是
/apps/qtrinst/install/python/anaconda/envs/sx_anaconda/bin/python3.5 - 如果不是,点击齿轮图标选择
Add,找到你的虚拟环境路径添加即可
4. 清除matplotlib的缓存配置
升级Python后,matplotlib的旧缓存配置可能和新环境冲突,执行以下代码重置配置:
import matplotlib matplotlib.rcParams.update(matplotlib.rcParamsDefault)
或者直接删除matplotlib的缓存目录(Linux下一般是~/.config/matplotlib,Windows是C:\Users\[你的用户名]\.matplotlib),之后重启PyCharm即可。
内容的提问来源于stack exchange,提问作者SBad
相关产品推荐
相关产品推荐

