iPython:如何从模块导入新添加的功能?



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

from myFuncs import func1

然后我出去 myFuncs.py 并添加一个新功能 func2。 如果我尝试这个:

from myFuncs import func2

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

顺便说一下,Spyder中的ipython可以很好地处理在交互时更改文件。 它也慢得无法使用,所以也许相关?

正如这里提到的@jss367,你可以通过importlibsys模块来实现这一点:

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

最新更新