【问题标题】:Reloading modules with importlib in IPython在 IPython 中使用 importlib 重新加载模块
【发布时间】:2017-06-19 11:15:10
【问题描述】:

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

import importlib.reload as ilrel

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

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

【问题讨论】:

    标签: python ipython reload interactive python-importlib


    【解决方案1】:

    因为reload 不是一个模块,它是importlib 模块中的一个函数。 importlib 没有什么特别的。这就是所有模块的导入工作方式。

    如果你只想要函数本身,你可以from importlib import reload

    另请注意,此功能仅在 Python 3.4+ 中可用。

    【讨论】:

    • 如果您使用 Daniel 建议的 from importlib import reload,那么您将该函数称为 reload(<module name>) 而不是 importlib.reload(<module name>)
    猜你喜欢
    • 2011-07-18
    • 2016-05-20
    • 2018-12-17
    • 1970-01-01
    • 2016-05-04
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多