Как запустить код после перезапуска ядра IPython - PullRequest
0 голосов
/ 06 июня 2018

Я запускаю этот код в spyder, используя python-64bit ver3.6.5.Может кто-нибудь помочь мне, как я могу запускать команды после перезапуска ipython

import IPython
import time

def restart_ipyhton():
    app = IPython.Application.instance()
    app.kernel.do_shutdown(True)  

print('before restart')
restart_ipyhton()
time.sleep(10)
print('after restart')

Несмотря на то, что я указал задержку в 10 секунд, ядро ​​ipython выполнило операторы "print ('after restart')" перед этимумер.Может кто-нибудь помочь мне, как я могу запускать команды после перезапуска ipython

1 Ответ

0 голосов
/ 07 июня 2018

( сопровождающий Spyder здесь ) Проблема заключается в том, что перезапуски ядра являются асинхронными вызовами, то есть они выполняются во внешнем процессе, и из кода невозможно определить, когда этот вызов завершен и когда новое ядроимеется в наличии.Это потому, что в ядре запускается код, который будет уничтожен.

Так что, насколько я могу судить, невозможно делать то, что вы хотите (но я не специалист по архитектуре Jupyter).

...