有没有办法获得当前加载的IPython扩展的列表?
例如,如果我使用%load_ext autoreload
或通过运行:将扩展autoreload加载到IPython中
from IPython import get_ipython
ipython = get_ipython()
ipython.magic("%load_ext autoreload")
有什么方法可以表明我已经加载了这个扩展吗?
我尝试过用之类的东西直接访问输入历史记录
from IPython import get_ipython
ipython = get_ipython()
hist = ipython.extract_input_lines("0:100")
但事实证明,IPython并没有在这里或In
和_ih
可访问的历史列表中存储具有神奇功能的输入。只有执行普通Python的行才会被保存。
无论如何,这个方案一般都不会奏效。如果一个用runfile
调用的脚本运行load_ext
,那么在历史中看到的所有内容都将类似于runfile('script_name.py', wdir='path/to/wdir')
。
通过插入%load_ext
代码来解决这个问题:
from IPython import get_ipython
ip = get_ipython()
ip.extension_manager.loaded