IPython autoreload不会在包中加载新功能或模块

时间:2018-05-17 10:51:06

标签: python python-3.x ipython spyder

我有一个模块文件夹,如下所示:

900

__ init __.py文件包含:

Hello\
    __init__.py
    world.py

和world.py

from . import world

在IPython控制台中我可以做

def world():
    print('Hello world!')

但是,如果我向world.py添加一个新函数,则不会被IPython控制台重新加载。此外,如果我向Hello \添加一个模块,也没有加载,也可以添加"来自。 import world2"到__ init __.py。

不仅!如果我在world.py文件中修改了函数世界,那么也不会重新加载!

我试图用%autoreload来解决这个问题,但这并没有在模块内部工作。

我错过了一块拼图吗?每次更新模块时都必须打开一个新的控制台吗?我应该从内部开发模块"?

我看了this question,但它接着建议%autoreload 2应该可以工作,而不适合我。此外还有其他解决方案

In [1]: import Hello

In [2]: Hello.world.world()
Hello world!

不起作用并返回

reload(Hello)

0 个答案:

没有答案