2012-04-03 21 views
1

私は今少しPython2.7を学んでいます。私はWindows 7 64ビットBTWを使用しています。私はGUIの学習を始め、これにはwxpythonとIDLEを使用しようとしています。だから私はいくつかのコードを入力します:pythonw.exeが応答していません

import wx 
app = wx.App() 
win = wx.Frame(None) 
win.Show() 
app.MainLoop() 

私はプログラムを実行し、ウィンドウがポップアップしますが、青いドーナツがあります。ウィンドウを閉じようとすると、pythonw.exeが応答していないと表示されます。 wxpythonについて別のウィンドウがポップアップします。それは言う:

wxPython stdout/stderr(Not Responding) 

Traceback (most recent call last): 
**IDLE Internal Exception: 
File "C:\Python27\lib\idlelib\run.py", line 93, in main 
seq, request = rpc.request_queue.get(block=True, timeout=0.05) 
File "C:\Python27\lib\Queue.py", line 177, in get 
self.not_empty.wait(remaining) 
File "C:\Python27\lib\threading.py", line 263, in wait 
_sleep(delay) 
typeError: 'int' object is not callable 

何が間違っていて、それを修正するには?

ありがとうございました。

答えて

2

クラッシュは、イベントループを試して開始する時点で起こりそうです。このバグレポートを参照してください。http://bugs.python.org/issue989712

は、他の誰かがこの能力を処理しようと拡張子を作成するまで行ってしまったようだ:http://idlex.sourceforge.net/extensions.html基本的に

は、IDLEからこれをしません。スクリプトを書いて、シェルやスクリプトから直接実行するには、Windowsの場合は.pywという拡張子を付けてダブルクリックします。明らかに、IDLE自身のイベントループとGUIツールキットのイベントループとの間に矛盾があります。

+0

IdleXのEventLoop.py拡張では、app.Mainloop()を呼び出さずにwxツールキットを実行できます。 – Roger

0

threadingライブラリの変数が汚染されている可能性があります。_sleepのように変数がintの値で上書きされているようです。この場合、_sleepintであり、intは呼び出し可能ではないため、_sleep(x)は機能しません。

お客様のクライアントコードまたは一部のフレームワークコードまたはライブラリには、importが含まれている可能性があります。それはすべてのコードですか?

IDLEのようなIDEではなく、プレーンなPythonターミナルからこのコードを実行してみてください。

+0

はい、それだけです。 –

関連する問題