IPython 0.13:每次输入命令时自动加载模块?

时间:2013-05-28 18:06:11

标签: python ipython

假设我有一个用Python导入各种模块的脚本。

import my_module
from some_other_module import foo
...

然后我从IPython运行这个脚本。

假设我对bar中的my_modulefoo中的some_other_module中的函数进行了更改。

假设我现在想要从我的IPython会话中以交互方式调用my_module.bar()foo()

  1. 当我在执行命令之前调用命令时,有没有办法让IPython自动重新加载每个加载的模块?
  2. 如果不是自动的,如何在IPython中手动重新加载每个加载的模块而不必明确命名模块?
  3. 最后,有没有办法在我的ipython_config.py(启动文件)中设置我的IPython会话,以便它支持这种现成的功能?

1 个答案:

答案 0 :(得分:3)

我建议使用%load_ext autoreload后跟%autoreload?以查看如何使用它。

您还可以在启动时查看InteractiveShellApp.extensionsInteractiveShellApp.extra_extension配置选项以进行扩展。

最后,您还可以在IPython配置文件目录中添加.py文件($ ipython locate来获取它),将其放在startup子文件夹中,它将在启动时执行

但是有一个限制,C模块无法重新加载。