python - 使用 "del np.dtype"后,重新导入 numpy 是否应该修复此问题?

标签 python numpy spyder

我试图了解 python 中 import 的行为。

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

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

所有这一切的奇怪之处在于,我仍然可以使用 numpy 没有任何问题,除了当我输入 numpy.dtype 时,我收到错误:

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

有人可以解释一下发生了什么以及我如何恢复:

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


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

最佳答案

在 Python 中,模块只会导入一次,因此后续导入不会执行任何操作。您可以使用 importlibreload 方法重新加载库,这会在您删除库后将其恢复为 dtype


import importlib
importlib.reload(numpy)

# numpy.dtype accessible again

您提到您使用的是Python 2.7,2.7中包含的importlib主要是为了方便更新,并且不包含reload方法。您确实应该更新到 Python 3,因为 2020 年即将到来,但如果您坚持的话,可以使用内置的 reload 方法。

关于python - 使用 "del np.dtype"后,重新导入 numpy 是否应该修复此问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785763/

相关文章:

python - 我正在尝试安装 bsddb3,但出现错误,我该如何解决?

python-3.x - 用 NAN 逐行替换 pandas 数据帧中的最后 2 个数值

cython - 摆脱 pyximport

python - 内核连接问题([SpyderKernelApp] 消息处理程序中的错误异常。Spyder 5.1.5

python - "The C extension could not be compiled' 错误。 - 在安装 Flask 时

python - Plotly Express 等值线分类箱

Python 等效于 Matlab 文本扫描

python - NumPy Sum(带轴)如何工作?

python - Spyder 无法从 anaconda 打开

python - 为什么这个文本打印函数在 pygame 中会产生延迟?