python进阶

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标记为不需要自动重载。

上一篇下一篇

猜你喜欢

热点阅读