alb*_*ert 6 python import ipython ipython-notebook jupyter
我编写了自己的模块,其结构如下:
mymodule/
??? __init__.py
??? part1.py
??? part2.py
??? part3.py
??? part4.py
Run Code Online (Sandbox Code Playgroud)
为了测试我的模块,我使用的是IPython和/或jupyter笔记本(以前的Ipython Notebook).像往常一样我做模块导入
import mymodule
Run Code Online (Sandbox Code Playgroud)
假设我编辑了一些代码,part2.py并希望使用我的模块的更新版本.首先,我认为只需重新导入模块即可import mymodule完成工作,但事实并非如此.要完全重新加载模块,我必须关闭IPython的shell或重新启动jupyter的内核并通过导入再次启动mymodule.
但是,在提供文档时,IPython提供了一个自动更新函数autoreload,该函数提供了不同的模式,可以按如下方式激活:
%load_ext autoreload
%autoreload 1
%aimport mymodule
Run Code Online (Sandbox Code Playgroud)
使用我的两个片段,我这样导入mymodule:
%load_ext autoreload
%autoreload 1
%aimport mymodule
import mymodule
# let's do something with the module here
Run Code Online (Sandbox Code Playgroud)
然而,即使有激活autoreload 1或autoreload 2既不IPython的也不jupyter在做什么,我希望他们做的,我还是要退出的IPython的壳或重新启动jupyter的内核,以便使用编辑的代码的part2.py这部分mymodule.
我究竟做错了什么?似乎我没有明白这应该如何运作.