質問
私のスクリプトは非常に迷惑している私のIDEのロックを50秒スリープした場合。私は私が他のIDEを試してみましたhaventは、それはpyldeとpyscripterで起こるなど、タブを切り替える私のソース、タイプコードに目を通す傾けます。私はこの問題を解決するために何ができますか?私が実際にやっている。
for i in range(0, timeInSeconds): time.sleep(1)
IDEは、1秒に1回更新することを望んでいますが、そのように見えるdoesntの。私はこの問題を解決するために何ができるのでしょうか?
解決
私は、IDE内からコードを実行していると仮定している?
あなたのコードを実行中にあなたのIDEは、おそらくブロックしています。その動作を制御するかもしれないいくつかの並べ替え、そうでない場合、私はあなたの唯一の選択肢は、IDEを変更することだと思うの設定を探してください。 (または、IDEの外からあなたのコードを実行します)。
他のヒント
あなたは、外部スクリプトを実行するように設定することはできますか?私は特定のIDEのことは知らないが、私はデバッグスクリプトの別のプロセスを起動し、IDEの下でそれらを実行しないようにしようとするだろう。それでも解決しない場合は、それはのIDEの問題です。
問題は、あなたのIDEではないのpythonです。私はよく、私はちょうどエリックIDE の上でそれを試してみた睡眠を使用していませんあなたのコードが実行されている、と寝ている間に、あなたは、ののあなたのIDEを使用することができます。そうするためにあなたのIDEを設定し、あなたがそれを必要とすることはできません場合は、IDEを変更したり、コンソールからあなたのコードを実行することを検討します。
個人的に、私はあなたが今までに、IDEと同じループ内のコードを実行することはありませんだと思います。ほとんどのIDEは、GUIのメインループを実行しているので、これを遮断することにより、ユーザ・インタフェースの完全な凍結の原因となります。それだけでトラブルを求めている、と私は両方のこれらのIDEに対するバグレポートを取るでしょう。
私はIDEは、スクリプトが終了するのを待っているループ内で座っている問題があると思われます。
自体に問題ではないこと、IDEは、このループにある間にメッセージがまだ処理されて生成された任意のユーザーを提供しました。
しかし、私は疑う、この場合には間違っ起こっていることはIDEは単なるユーザーインターフェイスがロックされるように表示されますので、処理とメッセージなしでループを実行しているされます。
IDEは、スクリプトを実行するためのスレッドを作成する必要があるループ内または代わりにしながら、いずれかのプロセスのGUIメッセージに変更する必要があります。スレッドは、バックグラウンドで実行されますし、GUIは、応答性のままになります。
たとえばWindowsののIDEのためのゼウスは、バックグラウンドスレッドのアプローチを使用し、それがこの問題を持っていません。