zep*_*hyr 4 macos tkinter matplotlib python-3.x
我有一个集成了tkinter GUI以及matplotlib图(使用pyplot)的程序。让该程序在各种Mac平台上正常运行时,我遇到了无尽的麻烦。主要问题似乎在于适当选择后端。
在某些情况下,程序运行正常没有问题。在其他情况下,我遇到了与此问题相关的类似问题。实施此处概述的解决方案可以解决该问题,但是其他系统会弹出其他错误。解决这些其他错误的方法似乎是使用Qt4Agg后端。
必须有一些使用tkinter和matplotlib来同时获取程序的标准方法,才能与Mac配合使用。如何以编程方式确保使用了正确的后端,这样该程序对于Mac用户不会崩溃?
抱歉,如果不清楚,这是一个非常广泛的问题。
看到这个答案:如何在matplotlib / Python中切换后端
本质上,如果您不知道哪个backend可用,则以下代码应加载backend当前计算机上第一个可用的代码。(我只包含4个后端,还有很多其他后端)。
import matplotlib
gui_env = ['TKAgg','GTKAgg','Qt4Agg','WXAgg']
for gui in gui_env:
try:
print("testing", gui)
matplotlib.use(gui,warn=False, force=True)
from matplotlib import pyplot as plt
break
except:
continue
print("Using:",matplotlib.get_backend())
Using: GTKAgg
Run Code Online (Sandbox Code Playgroud)
更新:我被认为是OSX的一个后端MacOSX,可以将其添加到该列表中,尽管我无法自己对其进行测试。
| 归档时间: |
|
| 查看次数: |
3314 次 |
| 最近记录: |