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

iPython:如何从模块导入新添加的函数?,python,ipython,spyder,jupyter-console,Python,Ipython,Spyder,Jupyter Console,我在iPython做了很多互动工作。目前,我正在使用Jupyter QtConsole。假设我从这个开始: from myFuncs import func1 然后我转到myFuncs.py并添加一个新函数func2。如果我尝试这样做: from myFuncs import func2 它没有看到它。大概myFuncs是以某种方式缓存的。我读过有关重新加载的内容,但它似乎只适用于整个模块,而不适用于精心挑选的函数autoreload在这里似乎也无效。除了重新启动内核之外,还有其他方法吗 顺

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

from myFuncs import func1
然后我转到myFuncs.py并添加一个新函数func2。如果我尝试这样做:

from myFuncs import func2
它没有看到它。大概myFuncs是以某种方式缓存的。我读过有关重新加载的内容,但它似乎只适用于整个模块,而不适用于精心挑选的函数
autoreload
在这里似乎也无效。除了重新启动内核之外,还有其他方法吗

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

正如@jss367所提到的,您可以通过
importlib
sys
模块实现这一点:

import importlib
import sys
importlib.reload(sys.modules['myFuncs'])
from myFuncs import func2
FWIW提供了一些细节和解决方法(使用完全限定的名称),但没有解决方案。