Hola,
Tengo un problema similar al # 11871. Recientemente instalé numpy 1.16.0 pero luego tuve que degradar y ahora sigo obteniendo ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
.
El siguiente ejemplo estaba funcionando bien hace aproximadamente una semana.
De hecho, terminé eliminando TODOS los paquetes de Python ( instrucciones aquí ) y reinstalándolos _uno por uno_ usando apt-get
(Ubuntu 18.04.1 LTS), excepto ipyparallel
y openbabel
, que se instalaron usando pip
(estoy bastante seguro de que ninguno de los dos está relacionado con el problema). El siguiente ejemplo se ejecutó _después_ de toda esta limpieza.
Parece que mucha gente está teniendo este problema últimamente, con diferentes paquetes:
A continuación se muestra una sesión de IPython que muestra el error:
% 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'
Algunos archivos y versiones relevantes:
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
Estoy usando 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
En # 11871 @mattip mencionó que
El módulo de extensión c
_multiarray_umath
es nuevo en numpy 1.16.0 y puede indicar una combinación de versiones, o expectativas de versión, en algún lugar. Tenga en cuenta que este problema está cerrado, si cree que hay un problema con numpy, abra un nuevo problema que detalle exactamente lo que está haciendo.
¿Cómo es que obtengo este error a pesar de que tengo numpy 1.13.3? ¡Gracias por toda la ayuda!
Parece que está eliminando una matriz que se guardó en numpy 1.16 en numpy 1.13.3
Este parece un error real. Creo que es posible que debamos anular ndarray.__module__
para ser compatibles con versiones anteriores.
Creo que @tzickel tiene razón. Acabo de regenerar data.h5
desde cero (que hace uso de un script, esta vez definitivamente usando numpy 1.13.3) y el código anterior funcionó.
% 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
Estoy cerrando esto porque creo que está resuelto. ¡Gracias @tzickel!
No creo que este error esté resuelto. No estoy usando ningún archivo pickle y recibo exactamente el mismo error.
Tengo este error recientemente desde algunos cambios en mi MAC. Seguí todas las mejores prácticas y parece que no puedo resolver este error.
Actualizado a MAC High Sierra (10.13.6)
instaló python 3.6 y python 3.7 para que se ejecutaran uno al lado del otro usando home-brew y siguió las pautas que se presentan aquí:
https://stackoverflow.com/questions/51726203/installing-python3-6-alongside-python3-7-on-mac
configure un nuevo entorno virtual para usar python 3.6.5 y un montón de otros módulos.
Este error ocurre en el entorno virtual. Tanto los cuadernos como el código Python de la línea de comandos generan el error. El código de Python se ejecuta 100% correctamente sin más errores que este mensaje.
python my_py_file.py
ModuleNotFoundError: ningún módulo llamado 'numpy.core._multiarray_umath'
ModuleNotFoundError: ningún módulo llamado 'numpy.core._multiarray_umath'
ModuleNotFoundError: ningún módulo llamado 'numpy.core._multiarray_umath'
ModuleNotFoundError: ningún módulo llamado 'numpy.core._multiarray_umath'
Eliminé y recreé el venv pero el error persiste. Es probable que todo el código continúe ejecutándose sin ningún otro error.
No estoy seguro de qué hacer a continuación. Si hay una solución, hágamelo saber, de lo contrario, en mi humilde opinión, este problema no debería resolverse.
Aquí se está rastreando un problema similar:
https://github.com/alpacahq/pylivetrader/issues/73
Para su información, acabo de resolver este problema forzando una reinstalación de numpy y pandas de la siguiente manera:
pip install --upgrade --force-reinstall numpy == 1.14.5
pip install --upgrade --force-reinstall pandas == 0.22.0
No más mensaje de error.
¡Resuelto este problema!
Rastreo (llamadas recientes más última):
Archivo "
Archivo "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", línea 421, en carga
pickle_kwargs = pickle_kwargs)
Archivo "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", línea 650, en read_array
array = pickle.load (fp, ** pickle_kwargs)
ModuleNotFoundError: ningún módulo llamado 'numpy.core._multiarray_umath'
numpy 1.16.0
pandas 0.22.0
pip 18.1 py36_0
python 3.6.8 h0371630_0
¡Espero que esto ayude!
¡Resuelto este problema!
1. I was getting the same issue in numpy.load('myfile.py'):
Rastreo (llamadas recientes más última):
Archivo "", línea 1, en
Archivo "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", línea 421, en carga
pickle_kwargs = pickle_kwargs)
Archivo "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", línea 650, en read_array
array = pickle.load (fp, ** pickle_kwargs)
ModuleNotFoundError: ningún módulo llamado '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
¡Espero que esto ayude!
He tenido este problema y esto también me resolvió el problema. ¡Gracias!
Actualice numpy con pip y funcionará:
pip install --upgrade numpy
@mlsmall gracias. es mágico.
Comentario más útil
Para su información, acabo de resolver este problema forzando una reinstalación de numpy y pandas de la siguiente manera:
pip install --upgrade --force-reinstall numpy == 1.14.5
pip install --upgrade --force-reinstall pandas == 0.22.0
No más mensaje de error.