什么是错误“ ImportError:numpy.core.multiarray导入失败”?

时间:2019-02-11 03:21:43

标签: python

我正在开发一个需要numpy的项目。我使用了pip install numpy并得到消息它已经安装。完成该代码后,当我运行其他代码时,出现以下以前未发生的错误。我正在使用Python 3.6。发行前后的版本相同。

客户代码:

import requests
#import json
from keras.preprocessing.image import img_to_array, array_to_img, load_img
from keras.preprocessing import image

flowers = 'c:/flower_photos/daisy/107592979_aaa9cdfe78_m.jpg'
#for x in flowers:
image1 = img_to_array(image.load_img(flowers, target_size=(128,128))) / 255
payload = {
      "instances": [{"image":image1.tolist()},
]
}
print("sending request...")
r = requests.post('http://localhost:8501/v1/models/flowers/versions/1:predict', json=payload)
#r = requests.get('http://localhost:8051/v1/models/modelflowers/versions/1/metadata')
print(r.content)

我收到以下错误:

C:\flowers_old>client.py
Using TensorFlow backend.
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
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 980, 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-02-10 19:15:06.355011: F tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr

我卸载了TF和numpy并将它们放回原处。还是一样的错误。 有帮助吗?

谢谢, Pubudu

1 个答案:

答案 0 :(得分:2)

在numpy 1.16.1中发现了此问题。将其降级为numpy 1.15.4时,它可以正常工作。 因此,建议创建一个conda环境,将其激活并进行必要的安装。

请遵循以下步骤。

conda create -n my_env python=3.6 numpy=1.15.4

'my_env'是conda环境名称。

激活环境

activate my_env

安装必要的软件包:例如。

conda install -c anaconda requests 

类似地,您可以根据需要安装其他软件包,例如keras,tensorflow等。

希望这会有所帮助。