wxPython Matplotlib.pyplot冲突?

wxPython Matplotlib.pyplot冲突?,python,macos,user-interface,wxpython,Python,Macos,User Interface,Wxpython,我在今天使用wxPython时遇到了这个非常奇怪的bug。这个简单的代码可以很好地工作: import wx app = wx.App() frame = wx.Frame(None, -1, 'simple.py') frame.Show() app.MainLoop() 但是,一旦我在顶部为matplotlib.pyplot添加导入语句: import matplotlib.pyplot as plt # then same co

我在今天使用
wxPython
时遇到了这个非常奇怪的bug。这个简单的代码可以很好地工作:

    import wx

    app = wx.App()
    frame = wx.Frame(None, -1, 'simple.py')
    frame.Show()
    app.MainLoop()
但是,一旦我在顶部为
matplotlib.pyplot
添加导入语句:

    import matplotlib.pyplot as plt

    # then same code as above...
简单窗口不再显示(没有错误,程序停止)。有人知道问题出在哪里吗

环境:macOS High Sierra、Python 3.6.3、wxPython 4.0.0b2、matplotlib 2.1.0


谢谢

我怀疑它正在崩溃,因为您没有可用于后端的特定库,可能是
python3tk
尝试:


我怀疑它正在崩溃,因为您没有一个可用于后端的特定库,可能是
python3tk
尝试:


我也有同样的问题。这只发生在macOS上。我可以在Windows上运行这个程序,但在Mac上不行。我测试了matplotlib的不同版本,但没有结果。我想测试wxpython的“经典”版本,但无法从SourceForge正确下载

我通过在进行绘图的函数中导入matplotlib解决了这个问题。这运行时没有出现错误,但也产生了一些信息性警告:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/matplotlib/cbook/deprecation.py:107:matplotlibdeprecation警告:WX后端已弃用。它未经测试,将在Matplotlib 3.0中删除。改用WXAgg后端。有关后端的更多信息,请参阅Matplotlib用法常见问题解答。改用WXAgg。
警告。警告(消息,mpldeprection,stacklevel=1)

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/matplotlib/backends/backend_wx.py:319:wxpydeproduction警告:调用不推荐的项。改用DrawText。
gfx_ctx.DrawRotatedText(s,x-xo,y-yo,rads)

因此,问题似乎是由于matplotlib内部的某些wx弃用造成的


萨克森州的罗尔夫的回答也适用于我,没有提出警告。

我也有同样的问题。这只发生在macOS上。我可以在Windows上运行这个程序,但在Mac上不行。我测试了matplotlib的不同版本,但没有结果。我想测试wxpython的“经典”版本,但无法从SourceForge正确下载

我通过在进行绘图的函数中导入matplotlib解决了这个问题。这运行时没有出现错误,但也产生了一些信息性警告:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/matplotlib/cbook/deprecation.py:107:matplotlibdeprecation警告:WX后端已弃用。它未经测试,将在Matplotlib 3.0中删除。改用WXAgg后端。有关后端的更多信息,请参阅Matplotlib用法常见问题解答。改用WXAgg。
警告。警告(消息,mpldeprection,stacklevel=1)

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/matplotlib/backends/backend_wx.py:319:wxpydeproduction警告:调用不推荐的项。改用DrawText。
gfx_ctx.DrawRotatedText(s,x-xo,y-yo,rads)

因此,问题似乎是由于matplotlib内部的某些wx弃用造成的

萨克森州的罗尔夫的回答也适用于我,没有给出警告。

可能重复的可能重复的
from matplotlib import use
use('WXAgg')
from matplotlib import pyplot as plt
import wx

app = wx.App()
frame = wx.Frame(None, -1, 'simple.py')
frame.Show()
app.MainLoop()