Frage

Ich habe einen Python-Skript, dass Verwendungen, wie es die letzte Anweisung plt.show(). Wenn es läuft, IDLE gerade hängt nach der letzten Anweisung. Ich das Bild bekommen, aber ich habe nicht die Aufforderung zurück.

Auf anderen Skripte typischerweise ctrl-c Ich benutze das Programm zu brechen (manchmal nicht sofort funktioniert), aber wie kann ich die Aufforderung zurück mit dem plt.show() bekommen? Ctrl-c nicht funktioniert ...

Gibt es andere Möglichkeiten, um das Programm zu stoppen?

Dies ist IDLE auf Windows, wenn es einen Unterschied macht.

War es hilfreich?

Lösung

Ich habe dieses Problem mit IDLE und matplotlib zu sehen, wenn sie auf Windows. Ich weiß nicht, die genaue Ursache, sondern Ctrl-c ein paar Mal hat sich für mich normalerweise gearbeitet. Wenn das nicht Arbeit für Sie, können Sie den normalen Interpreter verwenden, anstatt Schreib Ihr Grundstück direkt in eine Datei statt auf dem Bildschirm.

Dies ist eine jener (reichlich) Zeiten, in denen IDLE wie ein normaler Python-Skript oder Interpreter-Sitzung verhalten sich nicht. Aus diesem Grund vermeide ich in der Regel IDLE.

Andere Tipps

Strg + F6 (Restart Shell)

oder Shell-> Restart Shell

Wenn Sie plt.show() verwenden, tritt der Python subprocess die Ereignisschleife des GUI-Toolkit und blockiert, bis die Ereignisschleife beendet. Wenn es beendet wird, die Aufforderung zurück.

Wenn Sie das TkAgg Backend verwenden, werden Sie mit der Maus über eine Figur verschieben müssen, nachdem Sie Strg + C drücken. Das führt dazu, dass die Ereignisschleife zu stoppen. (Tkinter hat seine Macken)

Alternativ IdleX Angebote Matplotlib Unterstützung mit IDLE die EventLoop.py Erweiterung. Sie können mit Zahlen anzuzeigen und einzuwirken ohne plt.show() zu verwenden. Nur sicher sein, Satz plt.interactive(True) vor Zahlen zu erzeugen.

Ich hatte dasselbe Problem in Canopy Python-Editor, und ich war in der Lage zu Interrupt-Python-Sitzung mit CTRL+. ( "dot" Taste). Ich hoffe, das hilft, oder sie wahrscheinlich Dinge tun, in einer ähnlichen Art und Weise

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top