错误描述
今天在用numpy时,明明已经安装了numpy模块竟然还报错,错误如下:
ImportError: DLL load failed: 找不到指定的模块。
ImportError: numpy.core.multiarray failed to import
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 960, in _find_and_load
SystemError: <class '_frozen_importlib._ModuleLockManager'> returned a result with an error set
ImportError: numpy.core._multiarray_umath failed to import
ImportError: numpy.core.umath failed to import
2019-08-02 15:57:04.981608: F tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr
错误展示
问题原因
出现这个错误的原因是numpy的版本太低了,因为我在自己电脑上用numpy1.14.2来生成的pyd文件,实际使用pyd的电脑版本是1.13.1,所以就出现了这个错误。
解决方案
首先创建一个.py文件,运行如下代码:
import numpy
print(numpy.version.version)
numpy版本是1.13.1,显然是版本过低不符合要求。结果如下:
打开cmd窗口,输入pip install -U numpy对numpy进行升级
然后运行代码,结果还是报同样的错,再次查看numpy的版本,竟然还是1.13.1。
再次报错原因
是因为我在安装时,同时使用了pip和conda两个命令进行安装,这样在anaconda同时出现了两个版本的numpy,所以会出现这样的错误
解决办法
使用conda uninstall numpy卸载掉旧的版本,结果这个问题就解决了。然后就ok了。