que - Cómo detener la ejecución del programa Python en IDLE
interprete de python (4)
Ctrl + F6 (Reiniciar shell)
o Shell-> Reiniciar Shell
Tengo un script de Python que usa plt.show()
como su última instrucción. Cuando se ejecuta, IDLE simplemente se cuelga después de la última instrucción. Obtengo la imagen pero no recibo la respuesta.
En otros scripts normalmente utilizo ctrl-c
para romper el programa (a veces no funciona de inmediato) pero ¿cómo plt.show()
el prompt con plt.show()
? Ctrl-c
no funciona ...
¿Hay otras formas de detener el programa?
Esto es IDLE en Windows, si hace alguna diferencia.
He visto este problema con IDLE y matplotlib al usarlos en Windows. No sé la causa exacta, pero Ctrl-c un par de veces ha funcionado para mí. Si eso no funciona para usted, puede utilizar el intérprete normal en lugar de escribir su diagrama directamente en un archivo en lugar de la pantalla.
Este es uno de esos (abundantes) momentos cuando IDLE no se comporta como un script de Python normal o una sesión de intérprete. Debido a esto, generalmente evito IDLE.
Cuando utiliza plt.show()
, el subproceso python ingresa el bucle de eventos del juego de herramientas GUI y bloquea hasta que el bucle de eventos finalice. Cuando sale, recuperas el mensaje.
Si está utilizando el backend TkAgg, tendrá que mover el mouse sobre una figura después de presionar Ctrl + C. Eso causará que el ciclo de eventos se detenga. (Tkinter tiene sus peculiaridades)
Alternativamente, IdleX ofrece compatibilidad con Matplotlib con IDLE utilizando la extensión EventLoop.py. Puede visualizar e interactuar con figuras sin usar plt.show()
. Solo asegúrese de establecer plt.interactive(True)
antes de generar figuras.
Tuve el mismo problema en Canopy Python Editor, y pude interrumpir la sesión de Python con CTRL+.
(botón "punto"). Espero que ayude, o probablemente hagan cosas de manera similar