最後の命令としてplt.show()
を使用するpythonスクリプトがあります。実行すると、IDLEは最後の命令の後でハングします。画像を取得しますが、取得しません。プロンプトバック。
他のスクリプトでは、通常、_ctrl-c
_を使用してプログラムを中断します(すぐに機能しない場合もあります)が、plt.show()
でプロンプトを元に戻すにはどうすればよいですか? _Ctrl-c
_が機能しません...
プログラムを停止する他の方法はありますか?
違いがあれば、これはWindows上のIDLEです。
IDLEとmatplotlibをWindowsで使用すると、この問題が発生します。正確な原因はわかりませんが、Ctrl-cを数回使用するのが一般的です。それがうまくいかない場合は、画面ではなくファイルにプロットを直接書き込む代わりに、通常のインタプリタを使用できます。
これは、IDLEが通常のPythonスクリプトまたはインタープリターセッションのように動作しない(豊富な)時間の1つです。このため、私は通常IDLEを避けます。
Ctrl + F6(シェルの再起動)
またはシェル->シェルの再起動
plt.show()
を使用すると、pythonサブプロセスはGUIツールキットのイベントループに入り、イベントループが終了するまでブロックします。終了すると、プロンプトが返されます。
TkAggバックエンドを使用している場合は、Ctrl + Cを押した後、マウスを図形の上に移動する必要があります。これにより、イベントループが停止します。 (Tkinterには癖があります)
または、 IdleX は、EventLoop.py拡張子を使用してIDLEでMatplotlibサポートを提供します。 plt.show()
を使用せずに、図を表示および操作できます。図を生成する前に、必ずplt.interactive(True)
を設定してください。
キャノピーPythonエディターで同じ問題が発生し、CTRL+.
(「ドット」ボタン)でpythonセッションを中断できました)。助けます、または彼らはおそらく同様の方法で物事を行います