python-3.x - Mac 上的 Anaconda:无法将 Matplotlib 后端设置为 Agg
问题描述
我想将 Spyder 设置为使用非交互式 matplotlib 后端,这样绘图图形就不会弹出,但我仍然可以将图形保存到文件中,就像这个提示一样。
但是,看起来 Spyder 会自动导入 matplotlib 并在内部某处设置后端,因此我进行的任何调用都会matplotlib.use()
弹出一个错误,指出 MPL 已被调用。
首选项显示“自动导入 PyLab”已禁用。下拉列表中也没有“Agg”后端。
如何使用非交互式后端?
或者最好:如何再次允许后端的命令行设置?(我希望我的脚本在 MPL 导入之前根据一些变量选择是否使用交互式/非交互式后端。)
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
解决方案
(这里是 Spyder 维护者)正如@ImportanceOfBeingErnest在他上面的评论中所提到的,您只需要在您发布的屏幕截图中关闭名为“激活支持”的选项,就可以自己设置要在代码中使用的 Matplotlib 后端。
推荐阅读
- mysql - 致命错误:未捕获的错误:找不到类“Illuminate\Foundation\Application”
- r - 如何创建将分段函数应用于另一列的结果的列?
- mysql - MySQL 从 I/O 线程未在同一服务器 xampp 上运行
- ios - 如何控制 AVPictureInPictureController 播放/暂停按钮?
- web-services - 如何解决“已尝试所有:4 个地址,但无法通过 HTTPS 连接到服务器:XXXXX 端口:443”
- sql - 截断数据库中的所有表
- ruby-on-rails - 更新模型的哈希属性时,Rails 参数返回 nil
- heroku - Heroku 免费套餐是否会限制 SEO 功能?
- angular - 动态添加 div 属性值
- batch-file - 如何在詹金斯管道的舞台外传递一个变量