我有一个使用 wxPython 和 matplotlib 的 python 包。为了获得非阻塞窗口,我尝试像这样启动 IPython:
# ipython --pylab=wx
当我这样做时,会出现 IPython 提示,并且我的 OS X 面板中会出现 wx 图标,但 IPython 命令行会立即冻结(我必须按 CTRL-Z 并终止进程才能退出)。ipython --pylab
如果我在 matplotlibrc 文件中将 matplotlib 后端设置为“WX”或“WXAgg”使用“”启动它,我会得到相同的行为。
我可以用
# ipython --pylab=osx
但是当我运行任何创建 wx 窗口的命令时,我得到一个错误,指出wx.App
必须首先创建。所以要让它工作,我必须以osx
上述模式启动 IPython,然后立即输入
In [1]: import wx
In [2]: app = wx.App()
我在带有 wx 2.9 的 OS X 10.6 上看到了这一点。无论是使用本地安装的 Ipython + 包还是通过 macports,我都会得到相同的行为。在带有 wx 2.8.12 的 RHEL 6.3 上运行时,我没有看到这种行为。
我怎样才能消除对这种 hack 的需求并让它正确启动?