NameError:未定义名称'reload'

Min*_*cks 64 python python-3.x

我正在使用python 3.2.2.当我写一个简单的程序时,我遇到了问题.

>>> reload(recommendations)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    reload(recommendations)
NameError: name 'reload' is not defined
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Gar*_*tty 132

你可能想要importlib.reload().

from importlib import reload
Run Code Online (Sandbox Code Playgroud)

在Python 2.x中,这是一个内置的,但在3.x中,它在importlib模块中.

请注意,reload()在翻译之外使用通常是不必要的,您在这里尝试做什么?

  • 谢谢,但感叹.他们为什么不试图让shell更有用? (3认同)

Jam*_*orn 11

更新@Gareth Latty的回答.imp在Python 3.4中折旧.现在你想要importlib.reload().

from importlib import reload
Run Code Online (Sandbox Code Playgroud)


Bip*_*kar 8

尝试importlib.reload

重新加载先前导入的模块。参数必须是模块对象,因此它必须已经成功导入。如果您已使用外部编辑器编辑了模块源文件,并且想在不离开Python解释器的情况下尝试新版本,则这将非常有用。

from importlib import reload

reload(module_name)
Run Code Online (Sandbox Code Playgroud)