使用“ del np.dtype”后,是否应重新导入numpy来解决此问题?

时间:2019-04-21 18:55:13

标签: python numpy spyder

我试图了解python中导入的行为。

我使用了del numpy.dtype,当我键入numpy.dtype时抛出错误。但是,当我尝试重新导入numpy时,它没有帮助。

我尝试通过执行del sys.modules['numpy']来遵循Python: "de-import", "re-import", "reset import"?的回答,但是随后尝试再次导入numpy时出现错误。

所有这一切的怪异之处在于,我可以仍然使用numpy,没有任何问题,只是当我键入numpy.dtype时,我得到了错误:

AttributeError: 'module' object has no attribute 'dtype'

有人可以解释正在发生的事情以及如何恢复:

  1. numpy.dtype
  2. 无错误地导入numpy的功能


我在Spyder交互式IPython控制台中使用Python2.7。

1 个答案:

答案 0 :(得分:2)

一个模块在Python中只会被导入一次,因此您随后的导入将不执行任何操作。您可以使用importlib的{​​{1}}方法重新加载库,删除后将带回reload


dtype

您提到您正在使用Python 2.7,并且2.7中包含的import importlib importlib.reload(numpy) # numpy.dtype accessible again 主要是为了易于更新,并且不包含importlib方法。随着2020年的临近,您应该真正升级到Python 3,但是如果您坚持的话,可以使用内置的reload方法。