IPython поддерживает магию %reset
, которая сбрасывает все имена в ядре.
Однако то, как работает механизм импорта python, может привести к неожиданному поведению, если вы измените модульи затем ожидать, что измененный код будет перезагружен после %reset
при повторном его импорте. Я не пробовал это в течение долгого времени, но если память работает, модуль фактически не реимпортируется (a'la importlib.reload
), потому что именно так ведет себя система импорта python.
Так что, если вы изменяете модули на лету, лучше все равно просто перезапустить весь сеанс. История все еще будет там, и вы все равно не будете использовать имена, определенные ранее.