在IPython中使用importlib重新加载模块

air*_*das 2 python interactive reload ipython python-importlib

importlib对交互式IPython shell中的行为感到困惑.当我跑:

import importlib.reload as ilrel
Run Code Online (Sandbox Code Playgroud)

我收到了错误ImportError: No module named 'importlib.reload'.这正是我导入其他模块的方式,例如matplotlib.pyplot.

目前我一直只是importlib单独导入,然后使用importlib.reload(<module name>).这不是一个主要问题,但为什么第一种方法不起作用?

Dan*_*man 6

因为reload它不是模块,所以它是模块中的一个功能importlib.importlib没有具体的内容; 这就是导入适用于所有模块的方式.

如果你只是想要这个功能本身,你可以做到from importlib import reload.

另请注意,此功能仅适用于Python 3.4+.