当我的脚本休眠 50 秒时,我的 IDE 锁定,这很烦人。我无法切换选项卡、查看源代码、键入代码等。它发生在 pylde 和 pyscripter 中,我没有尝试过其他 IDE。我能做些什么来解决这个问题?我实际上在做
for i in range(0, timeInSeconds): time.sleep(1)
希望IDE每秒更新一次,但看起来不是这样。我能做些什么来解决这个问题?
我假设您是从 IDE 中运行代码?
运行代码时,您的 IDE 可能会阻塞。寻找某种可能控制该行为的设置,否则我认为您唯一的选择就是更改 IDE。(或者,从 IDE 外部运行您的代码)
你可以配置在外部运行你的脚本吗?我不知道具体的 IDE,但我会尝试为调试脚本生成不同的进程,而不是在 IDE 下运行它们。如果这没有帮助,那么这是 IDE 的问题。
问题是你的IDE不是python。我不经常使用睡眠,我刚刚在Eric IDE上尝试过,您可以在代码运行和睡眠时使用您的 IDE。如果无法设置您的 IDE 并且您需要它,请考虑更改 IDE 或从控制台运行您的代码。
就个人而言,我认为您永远不应该在与您的 IDE 相同的循环中执行代码。由于大多数 IDE 运行 GUI 主循环,阻止它会导致用户界面完全冻结。这只是自找麻烦,我会针对这两个 IDE 提出错误报告。
我怀疑 IDE 处于循环等待脚本完成的问题。
这本身不是问题,只要 IDE 处于此循环中时仍会处理任何用户生成的消息。
但我怀疑在这种情况下出现问题的是 IDE 只是在没有处理和消息的情况下运行循环,因此用户界面似乎被锁定。
IDE 需要更改为在循环中处理 GUI 消息,或者需要创建一个线程来运行脚本。然后线程将在后台运行,GUI 将保持响应。
例如Zeus for Windows IDE 使用后台线程方法,它没有这个问题。