你好,
我正在安装一堆需要 NumPy(例如 TensorFlow)的软件包,但由于 numpy 端的 ImportError,我似乎无法安装和导入它们。
pip install
和从源代码构建都会发生这种情况。
import numpy as np
import tensorflow as tf
ImportError: numpy.core._multiarray_umath failed to import
'1.16.0.dev0+cdbf35b'
我觉得这也可能是一些系统问题,因为即使是较老的 numpy 也会给我同样的错误
我们需要更多信息来帮助您。 import numpy as np
成功然后import tensorflow as tf
失败? 如果是第一个,那么应该有更多关于异常的信息。 如果是第二个,你从哪里得到tensorflow? 你用的是哪条蟒蛇?
嗨@mattip :
是后者(如:我可以import numpy
一切顺利,但是 TF 是无法导入的那个)。
这是完整的跟踪(我使用的是最新的 Miniconda shell 文件):
```Python 3.6.5 |Anaconda, Inc.| (默认,2018 年 4 月 29 日,16:14:56)
输入“版权”、“信用”或“许可”以获取更多信息
IPython 6.5.0——增强的交互式 Python。 类型 '?' 求助。
在 [1] 中:将 numpy 导入为 np
导入错误回溯(最近一次调用最后一次)
导入错误回溯(最近一次调用最后一次)
导入错误回溯(最近一次调用最后一次)
导入错误回溯(最近一次调用最后一次)
导入错误:numpy.core._multiarray_umath 导入失败
在 [3] 中:np.__version__
输出[3]:'1.15.1'
``
自从我想链接到我的本地 MKL 以来,我一直从源代码构建 Numpy 和 Scipy,但是当我开始收到 ImportError 时,我开始摆弄pip install
ing numpy 但这个错误仍然存在
In [3]: np.__version__
Out[3]: '1.15.1'
这很奇怪, _multiarray_umath
模块是 master 中的新模块。 也就是说,我怀疑最近的代码重新排列是您问题的根源。
如果您正在使用开发 numpy,则可能需要重新编译 tensorflow。
并且可能删除所有已安装的非系统 numpy 版本并重新安装。
谢谢@charris ! 几乎可以肯定,有一些错误的缓存导致了这个导入错误; 我刚刚构建了一个干净的 Docker 并且刚刚测试了 numpy(pip 和 build)和 Tensorflow(现在只是 pip)的导入,并且在导入 TF 时,两个版本的 numpy 检查都很好!
我将继续安装其他软件包并报告这是否真的是一个糟糕的巧合,或者是否有其他软件包在此过程中做了一些顽皮的事情!
是的,一切都很好! 感谢您的快速回复,现在关闭(仍然不确定为什么会出错,但至少现在可以使用了!)。
链接到#10915 代码重组 PR。
嗨,面对与 Django 相同的问题(警告完全相同的错误),并且任何重新安装、清除缓存(pip)都不起作用。 知道为什么会这样吗?
谢谢!
@amehrdad88这与 Django 无关。 重要的是您如何安装 Python,以及您如何安装 NumPy 以及您使用的其他依赖于 NumPy 的软件包。 通过查看回溯或检查numpy.__file__
来检查您正在使用您认为正在使用的内容(例如来自同一个 virtualenv / conda env 的所有内容)。
@amehrdad88这与 Django 无关。 重要的是您如何安装 Python,以及您如何安装 NumPy 以及您使用的其他依赖于 NumPy 的软件包。 通过查看回溯或检查
numpy.__file__
来检查您正在使用您认为正在使用的内容(例如来自同一个 virtualenv / conda env 的所有内容)。
好的谢谢我会检查虽然我只是使用了官方网站上的 Python 安装程序,然后是 virtualenv 和来自 pip 的所有其他东西,所以应该不会造成任何大问题! 我会尝试重新安装一切。
@rgommers似乎是其他软件包的问题,但不确定是哪个。 我重新安装了所有东西并遇到了同样的问题,所以我刚刚创建了一个只有 numpy 和 tensorflow 的测试 venv; 导入 tensorflow 作品。 当我从 requirements.txt 文件安装其他包(使用 pip)时,当我尝试导入 tensorflow 时,错误再次出现。
可能是正在加载的其中一个包中的 numpy 有错误吗? 即使我只导入 tensorflow 也会加载这个包吗?
注意:我还有一个警告“FutureWarning:不推荐将 issubdtype 的第二个参数从float
为np.floating
已弃用”,它通过更新 h5py 消失了
@amehrdad88此问题已关闭。 请准确记录您正在执行的命令,并在安装 tensorflow 之后的每个步骤后尝试导入 tensorflow。 如果您仍然认为问题出在 NumPy 而不是另一个包,请打开一个新问题并将文档与输出一起附加。
可能是正在加载的其中一个包中的 numpy 有错误吗? 即使我只导入 tensorflow 也会加载这个包吗?
不,那不太可能。 发生的事情可能是pip
以某种方式重新安装 numpy,因为它是通过requirements.txt
拉进来的。 或者你的 PYTHONPATH 上有一个包。 或者
在 CircleCI 上构建我的应用程序时,我开始出现这种行为。 在外壳中:
Python 2.7.14 (default, Sep 18 2017, 00:00:00)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
ImportError: No module named _multiarray_umath
ImportError: No module named _multiarray_umath
ImportError: No module named _multiarray_umath
ImportError: No module named _multiarray_umath
>>> np.__file__
'/usr/local/lib/python2.7/dist-packages/numpy/__init__.pyc'
>>> pd.__file__
'/usr/local/lib/python2.7/dist-packages/pandas/__init__.pyc'
这个构建在 4 天前运行良好,但现在我的构建失败了,没有对 requirements.txt 进行任何更改。 最近有什么变化吗? 我正在运行 numpy 1.14.3 和 Pandas 0.20.3
作为后续行动, pip install
首先(单独)使用 numpy,然后大熊猫为我做了这个伎俩......
在 CircleCI 上构建我的应用程序时,我开始出现这种行为。 在外壳中:
Python 2.7.14 (default, Sep 18 2017, 00:00:00) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as np >>> import pandas as pd ImportError: No module named _multiarray_umath ImportError: No module named _multiarray_umath ImportError: No module named _multiarray_umath ImportError: No module named _multiarray_umath >>> np.__file__ '/usr/local/lib/python2.7/dist-packages/numpy/__init__.pyc' >>> pd.__file__ '/usr/local/lib/python2.7/dist-packages/pandas/__init__.pyc'
这个构建在 4 天前运行良好,但现在我的构建失败了,没有对 requirements.txt 进行任何更改。 最近有什么变化吗? 我正在运行 numpy 1.14.3 和 Pandas 0.20.3
我有同样的问题,3 天前一切正常。 现在,当我尝试加载腌制文件时,突然出现此导入错误
c-extension 模块_multiarray_umath
是 numpy 1.16.0 的新功能,可能在某处指示版本的混合或版本期望。 请注意,此问题已关闭,如果您认为 numpy 存在问题,请打开一个新问题,详细说明您在做什么。
尝试加载腌制文件时遇到类似问题:
with open(fl[0], 'rb') as f:
pickle.load(f)
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-24-571299641ef6> in <module>
1 with open(fl[0], 'rb') as f:
----> 2 pickle.load(f)
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
也许这应该重新开放。 不确定这是否相关。
尝试使用pd.read_pickle
时也会得到这个:
完整追溯
pd.read_pickle('/path/to/a/dataframe/foo.df')
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
165 # We want to silencce any warnings about, e.g. moved modules.
--> 166 return read_wrapper(lambda f: pkl.load(f))
167 except Exception:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
148 try:
--> 149 return func(f)
150 finally:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
165 # We want to silencce any warnings about, e.g. moved modules.
--> 166 return read_wrapper(lambda f: pkl.load(f))
167 except Exception:
ImportError: No module named 'numpy.core._multiarray_umath'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
170 return read_wrapper(
--> 171 lambda f: pc.load(f, encoding=encoding, compat=False))
172 # compat pickle
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
148 try:
--> 149 return func(f)
150 finally:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
170 return read_wrapper(
--> 171 lambda f: pc.load(f, encoding=encoding, compat=False))
172 # compat pickle
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in load(fh, encoding, compat, is_verbose)
211
--> 212 return up.load()
213 except:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load(self)
1042 assert isinstance(key, bytes_types)
-> 1043 dispatch[key[0]](self)
1044 except _Stop as stopinst:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load_stack_global(self)
1350 raise UnpicklingError("STACK_GLOBAL requires str")
-> 1351 self.append(self.find_class(module, name))
1352 dispatch[STACK_GLOBAL[0]] = load_stack_global
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in find_class(self, module, name)
134 module, name = _class_locations_map.get(key, key)
--> 135 return super(Unpickler, self).find_class(module, name)
136
~/anaconda3/envs/py35/lib/python3.5/pickle.py in find_class(self, module, name)
1391 module = _compat_pickle.IMPORT_MAPPING[module]
-> 1392 __import__(module, level=0)
1393 if self.proto >= 4:
ImportError: No module named 'numpy.core._multiarray_umath'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_pickle(path, compression)
176 try:
--> 177 return try_read(path)
178 except:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
174 return read_wrapper(
--> 175 lambda f: pc.load(f, encoding=encoding, compat=True))
176 try:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
148 try:
--> 149 return func(f)
150 finally:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
174 return read_wrapper(
--> 175 lambda f: pc.load(f, encoding=encoding, compat=True))
176 try:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in load(fh, encoding, compat, is_verbose)
211
--> 212 return up.load()
213 except:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load(self)
1042 assert isinstance(key, bytes_types)
-> 1043 dispatch[key[0]](self)
1044 except _Stop as stopinst:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load_stack_global(self)
1350 raise UnpicklingError("STACK_GLOBAL requires str")
-> 1351 self.append(self.find_class(module, name))
1352 dispatch[STACK_GLOBAL[0]] = load_stack_global
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in find_class(self, module, name)
134 module, name = _class_locations_map.get(key, key)
--> 135 return super(Unpickler, self).find_class(module, name)
136
~/anaconda3/envs/py35/lib/python3.5/pickle.py in find_class(self, module, name)
1391 module = _compat_pickle.IMPORT_MAPPING[module]
-> 1392 __import__(module, level=0)
1393 if self.proto >= 4:
ImportError: No module named 'numpy.core._multiarray_umath'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
165 # We want to silencce any warnings about, e.g. moved modules.
--> 166 return read_wrapper(lambda f: pkl.load(f))
167 except Exception:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
148 try:
--> 149 return func(f)
150 finally:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
165 # We want to silencce any warnings about, e.g. moved modules.
--> 166 return read_wrapper(lambda f: pkl.load(f))
167 except Exception:
ImportError: No module named 'numpy.core._multiarray_umath'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
170 return read_wrapper(
--> 171 lambda f: pc.load(f, encoding=encoding, compat=False))
172 # compat pickle
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
148 try:
--> 149 return func(f)
150 finally:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
170 return read_wrapper(
--> 171 lambda f: pc.load(f, encoding=encoding, compat=False))
172 # compat pickle
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in load(fh, encoding, compat, is_verbose)
211
--> 212 return up.load()
213 except:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load(self)
1042 assert isinstance(key, bytes_types)
-> 1043 dispatch[key[0]](self)
1044 except _Stop as stopinst:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load_stack_global(self)
1350 raise UnpicklingError("STACK_GLOBAL requires str")
-> 1351 self.append(self.find_class(module, name))
1352 dispatch[STACK_GLOBAL[0]] = load_stack_global
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in find_class(self, module, name)
134 module, name = _class_locations_map.get(key, key)
--> 135 return super(Unpickler, self).find_class(module, name)
136
~/anaconda3/envs/py35/lib/python3.5/pickle.py in find_class(self, module, name)
1391 module = _compat_pickle.IMPORT_MAPPING[module]
-> 1392 __import__(module, level=0)
1393 if self.proto >= 4:
ImportError: No module named 'numpy.core._multiarray_umath'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
<ipython-input-44-2ad6813d006d> in <module>()
----> 1 pd.read_pickle('/Users/riley/main/build_0003/reps/lobsang/konami-api/src/app/v0/foo.df')
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_pickle(path, compression)
178 except:
179 if PY3:
--> 180 return try_read(path, encoding='latin1')
181 raise
182
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in try_read(path, encoding)
173 except:
174 return read_wrapper(
--> 175 lambda f: pc.load(f, encoding=encoding, compat=True))
176 try:
177 return try_read(path)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in read_wrapper(func)
147 is_text=False)
148 try:
--> 149 return func(f)
150 finally:
151 for _f in fh:
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/io/pickle.py in <lambda>(f)
173 except:
174 return read_wrapper(
--> 175 lambda f: pc.load(f, encoding=encoding, compat=True))
176 try:
177 return try_read(path)
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in load(fh, encoding, compat, is_verbose)
210 up.is_verbose = is_verbose
211
--> 212 return up.load()
213 except:
214 raise
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load(self)
1041 raise EOFError
1042 assert isinstance(key, bytes_types)
-> 1043 dispatch[key[0]](self)
1044 except _Stop as stopinst:
1045 return stopinst.value
~/anaconda3/envs/py35/lib/python3.5/pickle.py in load_stack_global(self)
1349 if type(name) is not str or type(module) is not str:
1350 raise UnpicklingError("STACK_GLOBAL requires str")
-> 1351 self.append(self.find_class(module, name))
1352 dispatch[STACK_GLOBAL[0]] = load_stack_global
1353
~/anaconda3/envs/py35/lib/python3.5/site-packages/pandas/compat/pickle_compat.py in find_class(self, module, name)
133 key = (module, name)
134 module, name = _class_locations_map.get(key, key)
--> 135 return super(Unpickler, self).find_class(module, name)
136
137 else:
~/anaconda3/envs/py35/lib/python3.5/pickle.py in find_class(self, module, name)
1390 elif module in _compat_pickle.IMPORT_MAPPING:
1391 module = _compat_pickle.IMPORT_MAPPING[module]
-> 1392 __import__(module, level=0)
1393 if self.proto >= 4:
1394 return _getattribute(sys.modules[module], name)[0]
ImportError: No module named 'numpy.core._multiarray_umath'
@rileypeterson这可能是问题 #12837 的重复。 无论如何,#12842 修复了 1.16.0 的酸洗问题(在 #12869 中向后移植到 1.16.1)。 它会随着 1.16.1 的发布而得到解决。
pip install --upgrade numpy
这删除了以前的版本并安装了较新的版本..这为我解决了问题
我遇到了同样的问题,numpy.core._multiarray_umath 无法导入
终于搞明白了,是numpy版本太低了,升级numpy到1.16.2,一切正常
numpy的卸载再更新升级
pip install -U numpy升级numpy 就可以了
这成功了:)
pip install --upgrade numpy
在 anaconda 提示符下:
pip uninstall numpy
然后:
pip install numpy
为我工作!
你好,
我正在安装一堆需要 NumPy(例如 TensorFlow)的软件包,但由于 numpy 端的 ImportError,我似乎无法安装和导入它们。
pip install 和从源代码构建都会发生这种情况。
重现代码示例:
将 numpy 导入为 np
将张量流导入为 tf
错误信息:
导入错误:numpy.core._multiarray_umath 导入失败Numpy/Python 版本信息:
'1.16.0.dev0+cdbf35b'
我遇到了同样的问题。
我已经通过卸载 Theano、tensorflow 和 keras 解决了这个问题; 然后按以下顺序安装它们:
numpy的卸载再更新升级
就服你!别人英文提问,你中文回答!
@datianshi21我们的官方语言是英语。 谷歌翻译说你的评论是“Numpy卸载和更新
只为您服务! 别人用英文提问,你用中文回答!”
你是机器人吗?
pip install --upgrade numpy --user
给了我错误:
mxnet-mkl 1.4.0 has requirement numpy<1.15.0,>=1.8.2, but you'll have numpy 1.16.3 which is incompatible.
卸载mxnet-mkl
后一切正常。
当我安装熊猫时,它开始为我工作。 不知道为什么。
https://github.com/numpy/numpy/issues/11871#issuecomment -487995082
Pandas 安装 numpy 作为依赖项。
最有用的评论
pip install --upgrade numpy
这删除了以前的版本并安装了较新的版本..这为我解决了问题