Estou executando foo.py
na linha de comando e inclui uma função com um loop for, dentro do qual está uma função que tem uma instrução IPython.embed (). Isso é para inicializar um interpretador naquele ponto dentro da função para ter acesso a essas variáveis locais.
No entanto, ao tentar escapar do interpretador embutido, ele apenas abre um novo interpretador (presumivelmente até k vezes para o loop for), bloqueando efetivamente esse terminal.
Seria bom ter um comando análogo a ipdb
's q
, que imediatamente lança uma exceção e sai para a CLI na qual foo.py
foi executado.
Tente %kill_embedded
- ele não sai do seu loop, mas deve fazer todas as chamadas futuras para embed()
no-ops, para que o resto do seu script seja executado até a conclusão.
Seria bom ter um único comando que parasse completamente a execução do script. Como o equivalente a:
%kill_embedded
(e sim, tenho certeza)exit
%exit_raise
lançará uma exceção no contexto externo e seu código será encerrado
Comentários muito úteis
Seria bom ter um único comando que parasse completamente a execução do script. Como o equivalente a:
%kill_embedded
(e sim, tenho certeza)exit