【问题标题】:pythonw.exe is not respondingpythonw.exe 没有响应
【发布时间】:2012-04-16 18:17:25
【问题描述】:

我已经学了一点Python2.7了。我正在使用 Windows 7 64 位 BTW。我开始学习 GUI,并一直在尝试为此使用 wxpython 和 IDLE。所以我输入了一些代码:

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

出了什么问题,我该如何解决?

谢谢。

【问题讨论】:

    标签: python wxpython


    【解决方案1】:

    崩溃很可能发生在您尝试启动事件循环时。请参阅此错误报告:http://bugs.python.org/issue989712

    似乎其他人已经尝试创建扩展来处理此功能:http://idlex.sourceforge.net/extensions.html

    基本上,不要在 IDLE 中执行此操作。编写一个脚本并从 shell 或脚本直接运行它(如果在 Windows 中),使用 .pyw 扩展名命名它并双击它。 IDLE 自己的事件循环与 GUI 工具包中的事件循环之间显然存在冲突。

    【讨论】:

    • 来自 IdleX 的 EventLoop.py 扩展允许 wx 工具包在不调用 app.Mainloop() 的情况下运行。
    【解决方案2】:

    似乎有些东西可能会污染threading 库中的变量,看起来_sleep 变量正在被int 值覆盖;在这种情况下,_sleep(x) 将不起作用,因为 _sleepint 并且 ints 是不可调用的。

    它可能在您的客户端代码或某些框架代码或库中,您是importing。这就是所有的代码吗?

    尝试从普通的 Python 终端运行此代码,而不是从 IDLE 之类的 IDE 运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 2022-01-19
      • 2013-02-06
      • 2020-06-23
      • 2017-09-25
      • 2013-04-20
      • 2016-10-06
      相关资源
      最近更新 更多