首页 > 解决方案 > Mac 上的 Anaconda:无法将 Matplotlib 后端设置为 Agg

问题描述

我想将 Spyder 设置为使用非交互式 matplotlib 后端,这样绘图图形就不会弹出,但我仍然可以将图形保存到文件中,就像这个提示一样

但是,看起来 Spyder 会自动导入 matplotlib 并在内部某处设置后端,因此我进行的任何调用都会matplotlib.use()弹出一个错误,指出 MPL 已被调用。

首选项显示“自动导入 PyLab”已禁用。下拉列表中也没有“Agg”后端。

如何使用非交互式后端?

或者最好:如何再次允许后端的命令行设置?(我希望我的脚本在 MPL 导入之前根据一些变量选择是否使用交互式/非交互式后端。)

Spyder 首选项截图: 在此处输入图像描述

Mac OS 10.13.6 上的版本/尝试(显示 MPL 已导入!):

Python 3.6.6 |Anaconda custom (64-bit)| (default, Jun 28 2018, 11:07:29)

IPython 6.5.0 -- An enhanced Interactive Python.

>> matplotlib
Using matplotlib backend: Qt5Agg

标签: python-3.xmatplotlibbackendspyder

解决方案


这里是 Spyder 维护者)正如@ImportanceOfBeingErnest在他上面的评论中所提到的,您只需要在您发布的屏幕截图中关闭名为“激活支持”的选项,就可以自己设置要在代码中使用的 Matplotlib 后端。


推荐阅读