iPython: 如何从模块导入新添加的函数?

iPython: How can I import a newly added function from module?

我在 iPython 做了很多互动工作。目前,我正在使用 Jupyter QtConsole。假设我从这个开始:

from myFuncs import func1

然后我去 myFuncs.py 添加一个新函数 func2。如果我试试这个:

from myFuncs import func2

它没看到。大概 myFuncs 以某种方式缓存。我读过 reload,但它似乎只适用于整个模块,不适用于精心挑选的功能。 autoreload 在这里似乎也无效。有没有办法,除了重新启动内核?

顺便说一句,Spyder 中的 ipython 可以在交互时更改文件。它也非常慢,所以可能相关?

正如@jss367 提到的 here,您可以使用 importlibsys 模块实现此目的:

import importlib
import sys
importlib.reload(sys.modules['myFuncs'])
from myFuncs import func2