你好,
我遇到了类似于 #11871 的问题。 我最近安装了 numpy 1.16.0,但后来我需要降级,现在我不断收到ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
。
下面的例子在一周前运行良好。
实际上,我最终删除了所有 Python 包(此处的说明)并使用apt-get
(Ubuntu 18.04.1 LTS)一个一个地重新安装它们,除了ipyparallel
和openbabel
,其中是使用pip
(我很确定两者都与问题无关)。 下面的示例是在所有这些清理之后运行的。
最近似乎很多人都遇到了这个问题,使用不同的包:
下面是一个显示错误的 IPython 会话:
% ipython3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pandas as pd
In [2]: pd.read_hdf("data.h5")
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-2-122d644764c1> in <module>()
----> 1 pd.read_hdf("data.h5")
/usr/lib/python3/dist-packages/pandas/io/pytables.py in read_hdf(path_or_buf, key, mode, **kwargs)
368 'contains multiple datasets.')
369 key = candidate_only_group._v_pathname
--> 370 return store.select(key, auto_close=auto_close, **kwargs)
371 except:
372 # if there is an error, close the store
/usr/lib/python3/dist-packages/pandas/io/pytables.py in select(self, key, where, start, stop, columns, iterator, chunksize, auto_close, **kwargs)
715 chunksize=chunksize, auto_close=auto_close)
716
--> 717 return it.get_result()
718
719 def select_as_coordinates(
/usr/lib/python3/dist-packages/pandas/io/pytables.py in get_result(self, coordinates)
1455
1456 # directly return the result
-> 1457 results = self.func(self.start, self.stop, where)
1458 self.close()
1459 return results
/usr/lib/python3/dist-packages/pandas/io/pytables.py in func(_start, _stop, _where)
708 return s.read(start=_start, stop=_stop,
709 where=_where,
--> 710 columns=columns, **kwargs)
711
712 # create the iterator
/usr/lib/python3/dist-packages/pandas/io/pytables.py in read(self, start, stop, **kwargs)
2902 blk_items = self.read_index('block%d_items' % i)
2903 values = self.read_array('block%d_values' % i,
-> 2904 start=_start, stop=_stop)
2905 blk = make_block(values,
2906 placement=items.get_indexer(blk_items))
/usr/lib/python3/dist-packages/pandas/io/pytables.py in read_array(self, key, start, stop)
2457
2458 if isinstance(node, tables.VLArray):
-> 2459 ret = node[0][start:stop]
2460 else:
2461 dtype = getattr(attrs, 'value_type', None)
/usr/lib/python3/dist-packages/tables/vlarray.py in __getitem__(self, key)
669 key += self.nrows
670 (start, stop, step) = self._process_range(key, key + 1, 1)
--> 671 return self.read(start, stop, step)[0]
672 elif isinstance(key, slice):
673 start, stop, step = self._process_range(
/usr/lib/python3/dist-packages/tables/vlarray.py in read(self, start, stop, step)
813 atom = self.atom
814 if not hasattr(atom, 'size'): # it is a pseudo-atom
--> 815 outlistarr = [atom.fromarray(arr) for arr in listarr]
816 else:
817 # Convert the list to the right flavor
/usr/lib/python3/dist-packages/tables/vlarray.py in <listcomp>(.0)
813 atom = self.atom
814 if not hasattr(atom, 'size'): # it is a pseudo-atom
--> 815 outlistarr = [atom.fromarray(arr) for arr in listarr]
816 else:
817 # Convert the list to the right flavor
/usr/lib/python3/dist-packages/tables/atom.py in fromarray(self, array)
1226 if array.size == 0:
1227 return None
-> 1228 return six.moves.cPickle.loads(array.tostring())
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
一些相关文件和版本:
In [4]: import pandas as pd
In [5]: pd.__file__
Out[5]: '/usr/lib/python3/dist-packages/pandas/__init__.py'
In [6]: pd.__version__
Out[6]: '0.22.0'
In [7]: pd.__path__
Out[7]: ['/usr/lib/python3/dist-packages/pandas']
In [8]: import tables
In [9]: tables.__file__
Out[9]: '/usr/lib/python3/dist-packages/tables/__init__.py'
In [10]: tables.__version__
Out[10]: '3.4.2'
In [11]: tables.__path__
Out[11]: ['/usr/lib/python3/dist-packages/tables']
In [12]: import six
In [13]: six.__file__
Out[13]: '/usr/lib/python3/dist-packages/six.py'
In [14]: six.__version__
Out[14]: '1.11.0'
In [15]: six.__path__
Out[15]: []
In [1]: import sys, numpy; print(numpy.__version__, sys.version)
1.13.3 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0]
In [2]: import pandas; pandas.show_versions()
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.7.final.0
python-bits: 64
OS: Linux
OS-release: 4.15.0-43-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: pt_BR.UTF-8
pandas: 0.22.0
pytest: None
pip: 9.0.1
setuptools: 40.6.3
Cython: None
numpy: 1.13.3
scipy: 0.19.1
pyarrow: None
xarray: None
IPython: 5.5.0
sphinx: None
patsy: 0.4.1+dev
dateutil: 2.6.1
pytz: 2018.3
blosc: None
bottleneck: None
tables: 3.4.2
numexpr: 2.6.4
feather: None
matplotlib: 2.1.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.6.0
html5lib: 0.999999999
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
我正在使用 Ubuntu 18.04.1 LTS:
% uname -a
Linux mothership 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
在 #11871 @mattip 中提到
c 扩展模块
_multiarray_umath
是 numpy 1.16.0 的新功能,可能在某处指示版本的混合或版本期望。 请注意,此问题已关闭,如果您认为 numpy 存在问题,请打开一个新问题,详细说明您在做什么。
即使我有 numpy 1.13.3,我怎么会收到这个错误? 感谢所有的帮助!
似乎您正在解压保存在 numpy 1.13.3 中的 numpy 1.16 中的数组
这个看起来像一个真正的错误。 我认为我们可能需要覆盖ndarray.__module__
才能向后兼容。
我相信@tzickel是正确的。 我刚刚从头开始重新生成了data.h5
(它使用了一个脚本,这次绝对使用 numpy 1.13.3)并且上面的代码有效。
% ipython3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pandas as pd
In [2]: df = pd.read_hdf("data.h5")
In [3]: df.columns
Out[3]:
Index(['aonames', 'atombasis', 'atomcharges', 'atomcoords', 'atommasses',
'atomnos', 'charge', 'coreelectrons', 'enthalpy', 'entropy',
'freeenergy', 'gbasis', 'geotargets', 'geovalues', 'grads', 'homos',
'jobfilename', 'metadata', 'mocoeffs', 'moenergies', 'moments',
'mosyms', 'mult', 'natom', 'nbasis', 'nmo', 'optdone', 'optstatus',
'polarizabilities', 'pressure', 'scfenergies', 'scftargets',
'scfvalues', 'temperature', 'vibdisps', 'vibfreqs', 'vibirs',
'vibsyms'],
dtype='object')
In [4]: df["freeenergy"].head()
Out[4]:
0 -228.614123
1 -229.062884
2 -552.464074
3 -552.010916
4 -552.006776
Name: freeenergy, dtype: float64
我正在关闭它,因为我相信它已经解决了。 谢谢@tzickel!
我不相信这个错误已经解决。 我没有使用任何泡菜文件,我收到了完全相同的错误。
由于我的 MAC 发生了一些变化,我最近遇到了这个错误。 我遵循了所有最佳实践,但似乎无法解决此错误。
升级到 MAC High Sierra (10.13.6)
安装了 python 3.6 和 python 3.7 以使用 home-brew 并排运行,并遵循此处提供的指南:
https://stackoverflow.com/questions/51726203/installing-python3-6-alongside-python3-7-on-mac
设置新的虚拟环境以使用 python 3.6.5 和一堆其他模块。
这个错误发生在虚拟环境中。 笔记本和命令行 python 代码都会生成错误。 python 代码 100% 正确运行,除此消息外没有其他错误。
python my_py_file.py
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块
我删除并重新创建了 venv,但错误仍然存在。 可能所有代码都会继续运行而没有任何其他错误。
我不知道接下来要做什么。 如果有解决方案,请告诉我,否则恕我直言,不应关闭此问题。
这里正在跟踪一个类似的问题:
https://github.com/alpacahq/pylivetrader/issues/73
仅供参考,我刚刚通过强制重新安装 numpy 和 pandas 解决了这个问题,如下所示:
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
没有更多的错误信息。
解决了这个问题!
回溯(最近一次调用最后一次):
文件 ”
文件“/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py”,第421行,加载中
pickle_kwargs=pickle_kwargs)
文件“/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py”,第650行,在read_array中
数组 = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块
麻木 1.16.0
熊猫 0.22.0
点 18.1 py36_0
蟒蛇 3.6.8 h0371630_0
希望这可以帮助!
解决了这个问题!
1. I was getting the same issue in numpy.load('myfile.py'):
回溯(最近一次调用最后一次):
文件“”,第 1 行,在
文件“/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py”,第421行,加载中
pickle_kwargs=pickle_kwargs)
文件“/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py”,第650行,在read_array中
数组 = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块1. Inside an Anaconda virtual env, the following config solved this issue in my case.
麻木 1.16.0
熊猫 0.22.0
点 18.1 py36_0
蟒蛇 3.6.8 h0371630_01. OS X version: macOS High Sierra v10.13.6
希望这可以帮助!
一直有这个问题,这也为我解决了这个问题。 谢谢!
使用 pip 更新 numpy 它将起作用:
pip install --upgrade numpy
@mlsmall谢谢。 这是魔法。
最有用的评论
仅供参考,我刚刚通过强制重新安装 numpy 和 pandas 解决了这个问题,如下所示:
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
没有更多的错误信息。