首页 > 解决方案 > iPython:如何从模块中导入新添加的功能?

问题描述

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

from myFuncs import func1

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

from myFuncs import func2

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

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

标签: pythonipythonspyderjupyter-console

解决方案


正如@jss367 提到的这里importlib,您可以使用和sys模块来实现这一点:

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

推荐阅读