Hallo,
Ich habe ein ähnliches Problem wie #11871. Ich habe vor kurzem numpy 1.16.0 installiert, aber dann musste ich ein Downgrade durchführen und bekomme jetzt immer wieder ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
.
Das folgende Beispiel hat vor einer Woche oder so gut funktioniert.
Ich habe tatsächlich ALLE Python-Pakete entfernt ( Anweisungen hier ) und sie _einzeln_ mit apt-get
(Ubuntu 18.04.1 LTS) neu installiert, mit Ausnahme von ipyparallel
und openbabel
, was wurden mit pip
installiert (ich bin mir ziemlich sicher, dass beide nichts mit dem Problem zu tun haben). Das folgende Beispiel wurde _nach_ all diesen Aufräumarbeiten ausgeführt.
Es scheint, dass in letzter Zeit viele Leute dieses Problem mit verschiedenen Paketen haben:
Unten ist eine IPython-Sitzung, die den Fehler anzeigt:
% 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'
Einige relevante Dateien und Versionen:
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
Ich verwende 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
In #11871 hat @mattip das erwähnt
Das c-Erweiterungsmodul
_multiarray_umath
ist neu in numpy 1.16.0 und kann irgendwo auf eine Mischung von Versionen oder Versionserwartungen hinweisen. Beachten Sie, dass dieses Problem geschlossen ist. Wenn Sie glauben, dass ein Problem mit numpy vorliegt, öffnen Sie bitte ein neues Problem, in dem genau beschrieben wird, was Sie tun.
Wie kommt es, dass ich diesen Fehler erhalte, obwohl ich numpy 1.13.3 habe? Danke für die ganze Hilfe!
Es scheint, als würden Sie ein Array entpicken, das in numpy 1.16 in numpy 1.13.3 gespeichert wurde
Dieser sieht aus wie ein echter Bug. Ich denke, wir müssen möglicherweise ndarray.__module__
überschreiben, um abwärtskompatibel zu sein.
Ich glaube, @tzickel ist richtig. Ich habe gerade data.h5
von Grund auf neu generiert (das ein Skript verwendet, diesmal definitiv mit numpy 1.13.3) und der obige Code funktionierte.
% 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
Ich schließe das, da ich glaube, dass es gelöst ist. Danke @tzickel!
Ich glaube nicht, dass dieser Fehler behoben ist. Ich verwende keine Pickle-Dateien und erhalte genau denselben Fehler.
Ich habe diesen Fehler vor kurzem seit ein paar Änderungen an meinem MAC. Ich habe alle Best Practices befolgt und kann diesen Fehler anscheinend nicht beheben.
Auf MAC High Sierra (10.13.6) aktualisiert
installierte sowohl Python 3.6 als auch Python 3.7, um mit Home-brew nebeneinander zu laufen, und befolgte die hier vorgestellten Richtlinien:
https://stackoverflow.com/questions/51726203/installing-python3-6-alongside-python3-7-on-mac
Richten Sie eine neue virtuelle Umgebung ein, um Python 3.6.5 und eine Reihe anderer Module zu verwenden.
Dieser Fehler tritt in der virtuellen Umgebung auf. Sowohl Notebooks als auch der Python-Befehlszeilencode generieren den Fehler. Der Python-Code wird zu 100% korrekt ausgeführt und es gibt keine anderen Fehler als diese Nachricht.
Python my_py_file.py
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'
Ich habe das Venv gelöscht und neu erstellt, aber der Fehler besteht weiterhin. Wahrscheinlich wird der gesamte Code weiterhin ohne andere Fehler ausgeführt.
Ich bin mir nicht sicher, was ich als nächstes tun soll. Wenn es eine Lösung gibt, lassen Sie es mich bitte wissen, ansonsten sollten diese Probleme IMHO nicht geschlossen werden.
Ein ähnliches Problem wird hier verfolgt:
https://github.com/alpacahq/pylivetrader/issues/73
Zu Ihrer Information, ich habe dieses Problem gerade gelöst, indem ich eine Neuinstallation von Numpy und Pandas wie folgt erzwungen habe:
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
Keine Fehlermeldung mehr.
Dieses Problem gelöst!
Traceback (letzter Anruf zuletzt):
Datei "
Datei "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", Zeile 421, in Load
pickle_kwargs=pickle_kwargs)
Datei "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", Zeile 650, in read_array
Array = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'
numpy 1.16.0
Pandas 0.22.0
pip 18.1 py36_0
Python 3.6.8 h0371630_0
Hoffe das hilft!
Dieses Problem gelöst!
1. I was getting the same issue in numpy.load('myfile.py'):
Traceback (letzter Anruf zuletzt):
Datei "", Zeile 1, in
Datei "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", Zeile 421, in Load
pickle_kwargs=pickle_kwargs)
Datei "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", Zeile 650, in read_array
Array = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError: Kein Modul namens 'numpy.core._multiarray_umath'1. Inside an Anaconda virtual env, the following config solved this issue in my case.
numpy 1.16.0
Pandas 0.22.0
pip 18.1 py36_0
Python 3.6.8 h0371630_01. OS X version: macOS High Sierra v10.13.6
Hoffe das hilft!
Habe dieses Problem und das hat das Problem auch bei mir gelöst. Danke!
Aktualisieren Sie numpy mit pip und es wird funktionieren:
pip install --upgrade numpy
@mlsmall danke. es ist Magie.
Hilfreichster Kommentar
Zu Ihrer Information, ich habe dieses Problem gerade gelöst, indem ich eine Neuinstallation von Numpy und Pandas wie folgt erzwungen habe:
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
Keine Fehlermeldung mehr.