ipython 自动加载 auto_reload 扩展
2018-08-15 本文已影响5人
nummycode
在开发中django或者flask开发中,调试的时候经常用到manager shell.如果安装了ipython的话,默认是打开ipython的。在调试过程中,如果代码发生更新,怎么实现ipython中引用的模块也自动更新呢。
ipython提供了一个很好的扩展auto_reload.
In [1]: %load_ext autoreload
In [2]: %autoreload 2
In [3]: from foo import some_function
In [4]: some_function()
Out[4]: 42
In [5]: # open foo.py in an editor and change some_function to return 43
In [6]: some_function()
Out[6]: 43
这样模块将自动加载。
命令参数如下所示:
%autoreload
: 自动重载%aimport
排除的模块之外的所有模块。
%autoreload 0
: 禁用自动重载
%autoreload 1
: 自动重载%aimport
指定的模块。
%autoreload 2
: 自动重载%aimport
排除的模块之外的所有模块。
%aimport
: 列出需要自动重载的模块和不需要重载的模块。
%aimport foo
: 重载模块foo并将它标记为需要自动重载。
%aimport -foo
: 将模块foo标记为不需要自动重载。