python sleep == IDE锁定

时间:2009-02-11 08:57:39

标签: python ide lockup

当我的脚本睡眠50秒时,我的IDE锁定,这非常烦人。我无法切换标签,查看我的来源,键入代码等。它发生在pylde和pyscripter,我还没有尝试过其他IDE。我该怎么做才能解决这个问题?我其实在做

for i in range(0, timeInSeconds): time.sleep(1) 

希望IDE每秒更新一次,但它不会那样。我该怎么做才能解决这个问题?

5 个答案:

答案 0 :(得分:2)

我假设您正在IDE中运行代码?

运行代码时,IDE可能会阻塞。寻找可能控制该行为的某种设置,否则我认为您唯一的选择是更改IDE。 (或者,从IDE外部运行代码)

答案 1 :(得分:0)

您可以配置为在外部运行脚本吗?我不知道具体的IDE,但我会尝试为调试的脚本生成不同的进程,而不是在IDE下运行它们。如果这没有帮助,那么它就是IDE的问题。

答案 2 :(得分:0)

问题是你的IDE不是python。我经常不使用睡眠,我只是在Eric IDE上尝试过,你可以在代码运行时使用使用 IDE,然后睡觉。如果无法将IDE设置为您需要它,那么请考虑更改IDE或从控制台运行代码。

答案 3 :(得分:0)

就我个人而言,我认为您永远不应该在与IDE相同的循环中执行代码。由于大多数IDE运行GUI主循环,因此阻止此操作将导致用户界面完全冻结。它只是在寻找麻烦,我会针对这两个IDE进行错误报告。

答案 4 :(得分:0)

我怀疑IDE正处于循环中等待脚本完成的问题。

这本身不是问题,前提是当IDE处于此循环中时仍会处理任何用户生成的消息。

但我怀疑在这种情况下出错的是IDE只是在没有处理和消息的情况下运行循环,因此用户界面似乎被锁定。

在循环中需要将IDE更改为处理GUI消息,或者需要创建一个线程来运行脚本。然后该线程将在后台运行,GUI将保持响应。

例如Zeus for Windows IDE使用后台线程方法,它没有这个问题。