Estoy ejecutando foo.py
desde la línea de comando, e incluye una función que tiene un bucle for, dentro del cual hay una función que tiene una declaración IPython.embed (). Esto es para inicializar un intérprete en ese punto dentro de la función para tener acceso a esas variables locales.
Sin embargo, cuando intenta escapar del intérprete incorporado, solo abre un nuevo intérprete (presumiblemente hasta k veces para el bucle for), bloqueando efectivamente ese terminal.
Sería bueno tener un comando análogo al ipdb
de q
, que inmediatamente lanza una excepción y sale de la CLI en la que se ejecutó foo.py
.
Pruebe %kill_embedded
: no se sale de su bucle, pero debería realizar todas las llamadas futuras a embed()
no-ops, de modo que el resto de su script se ejecute hasta su finalización.
Sería bueno tener un solo comando que detuviera por completo la ejecución del script. Como el equivalente de:
%kill_embedded
(y sí, seguro)exit
%exit_raise
generará una excepción en el contexto externo y su código saldrá
Comentario más útil
Sería bueno tener un solo comando que detuviera por completo la ejecución del script. Como el equivalente de:
%kill_embedded
(y sí, seguro)exit