列出已加载的IPython扩展



有没有办法获得当前加载的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

最新更新