我有以下内容ipython_config.py
:
print "Test autoreload" #confirm this gets loaded
c = get_config()
c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
它似乎适用于正常的 ipython 会话:
$ ipython
Test autoreload
In [1]: %autoreload 2
In [2]:
但是,当使用使用 IPython.embed() 的嵌入式 shell 脚本时,自动重载魔法不再起作用。
例如,在shell.py
:
from IPython import embed
embed()
这仍然会加载我的 ipython_config.py,"Test autoreload"
打印出来就证明了这一点,但是 autoreload 扩展没有被加载(没有 %autoreload 魔法):
$ python shell.py
Test autoreload
In [1]: %autoreload 2
ERROR: Line magic function `%autoreload` not found.