私はwxPythonが初めてです。簡単なチュートリアル (http://wiki.wxpython.org/wxPython%20by%20Example) から始めると、Spyder と wxPython の間に競合があるようです。以下を使用して、(IPython コンソールで) 次のスクリプトを 1 回実行できます。
runfile(r'C:\Python27\Scripts\test\test.py')
を含む:
import wx
class Frame(wx.Frame):
def __init__(self, title):
wx.Frame.__init__(self, None, title=title, size=(350,200))
app = wx.App(redirect=True)
top = Frame("Hello World")
top.Show()
app.MainLoop()
しかし、2回目に実行すると、次のエラーが発生しました。
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 493, in runfile
execfile(filename, namespace)
File "C:\Python27\Scripts\test\test.py", line 14, in <module>
top = Frame("Hello World")
File "C:\Python27\Scripts\test\test.py", line 11, in __init__
wx.Frame.__init__(self, None, title=title, size=(350,200))
File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 505, in __init__
_windows_.Frame_swiginit(self,_windows_.new_Frame(*args, **kwargs))
PyNoAppError: The wx.App object must be created first!
よくわかりませんが、どうやらspyderがwxPythonを使用して書かれていることと、app.MainLoop()との競合に関連しているようです
誰かがもう少し確認および/または説明できますか?
どうもありがとう、
パトリック