我遇到了wxPython和matplotlib之间的一个奇怪的兼容性问题。
import wx
import pylab
app = wx.App(False)
app.frame = wx.Frame(None)
app.frame.Centre()
app.frame.Show()
使用matplotlib 1.5.0或更高版本时,此代码将无法运行 - 它挂起且没有错误:
app = wx.App(False)
如果我评论import pylab
,它就可以了。 import matplotlib
不会导致错误,但import matplotlib.pyplot as plt
会导致错误。
使用matplotlib 1.4.2,此代码可以正常工作,包括pylab
导入。
我在这里寻找可能的更改:http://matplotlib.org/1.5.0/api/api_changes.html,但似乎没有任何相关内容。
我在OSX El Capitan上,使用wxPython 3.0.2.0。
关于出了什么问题的任何想法?
答案 0 :(得分:0)
此问题似乎在matplotlib 1.5.1中得到解决。此外,上面的代码要求包含行matplotlib.use('WXAgg')
。这样可以确保为wxPython设置后端,而不是为Qt4Agg'设置后端,这是默认的matplotlib。
此处有关于此问题的更多讨论:https://github.com/matplotlib/matplotlib/issues/5737