使用Qt5Agg后端调用plt.show()时Matplotlib崩溃退出求助
解决plt.show()调用后Python直接退出的问题
结合你给出的环境信息:
Linux Mint 18.3
Anaconda Python 3.5.5
matplotlib 2.2.2
当前后端:Qt5Agg
以及你提到的和issue 4590高度相似的情况,我分享几个亲测有效的解决思路:
临时切换matplotlib后端
Qt5Agg后端在部分Linux环境下容易出现兼容性崩溃问题,你可以先尝试切换到TkAgg后端测试:# 注意要在导入pyplot前切换后端 import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt # 测试代码 plt.plot([1,2,3]) plt.show()如果这个方法有效,你可以修改matplotlib的配置文件永久切换:找到Anaconda环境下的
matplotlibrc文件(路径一般是~/anaconda3/envs/你的环境名/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc),把backend : Qt5Agg改成backend : TkAgg。修复Qt/PyQt依赖
Anaconda环境中的Qt或PyQt包损坏也可能导致这个问题,尝试更新或重新安装对应版本的依赖:# 先更新Qt和PyQt conda update qt pyqt # 如果更新无效,指定兼容版本重新安装(matplotlib 2.2.2和PyQt5.9兼容性较好) conda remove --force qt pyqt conda install qt=5.9 pyqt=5.9排查系统Qt库冲突
Linux Mint系统自带的Qt库可能和Anaconda环境中的版本冲突,导致matplotlib加载后端时出错。你可以尝试在激活conda环境后,先运行以下命令屏蔽系统Qt路径,再测试:export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH python然后在Python环境中导入matplotlib并调用plt.show()测试。
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

