Numpy: ImportError: numpy.core._multiarray_umath no se pudo importar

Creado en 3 sept. 2018  ·  36Comentarios  ·  Fuente: numpy/numpy

Hola,

Hay un montón de paquetes que estoy instalando que requieren NumPy (por ejemplo, TensorFlow), y parece que no puedo instalarlos e importarlos debido a un ImportError en el lado numpy.

Esto está sucediendo tanto con pip install como con la construcción desde la fuente.

Ejemplo de código de reproducción:

import numpy as np
import tensorflow as tf

Mensaje de error:

ImportError: numpy.core._multiarray_umath failed to import

Información de la versión de Numpy / Python:

'1.16.0.dev0+cdbf35b'

Comentario más útil

pip install --upgrade numpy

esto elimina la versión anterior e instala la versión más nueva .. esto resolvió el emitido para mí

Todos 36 comentarios

Siento que esto también podría ser un problema del sistema, porque incluso un numpy más antiguo me está dando este mismo error

Necesitamos más información para ayudarte. ¿Tiene éxito import numpy as np y luego falla import tensorflow as tf ? Si es el primero, entonces debería haber más información sobre la excepción. Si es el segundo, ¿de dónde sacaste tensorflow? ¿Qué pitón estás usando?

Hola @mattip :

Es el último (como en: puedo import numpy todo bien, pero luego TF es el que no se puede importar).

Aquí está el rastro completo (estoy usando el último archivo de shell de Miniconda):

`` `Python 3.6.5 | Anaconda, Inc. | (predeterminado, 29 de abril de 2018, 16:14:56)
Escriba 'derechos de autor', 'créditos' o 'licencia' para obtener más información
IPython 6.5.0: un Python interactivo mejorado. Escribe '?' por ayuda.

En [1]: importar numpy como np

En [2]: importar tensorflow como tf

ImportError Traceback (última llamada más reciente)

ImportError: numpy.core._multiarray_umath no se pudo importar

ImportError Traceback (última llamada más reciente)

ImportError: numpy.core._multiarray_umath no se pudo importar

ImportError Traceback (última llamada más reciente)

ImportError: numpy.core._multiarray_umath no se pudo importar

ImportError Traceback (última llamada más reciente)
ImportError: numpy.core._multiarray_umath no se pudo importar

En [3]: np .__ versión__
Fuera [3]: '1.15.1'
''

Siempre he estado construyendo Numpy y Scipy desde la fuente desde que quería vincularme a mi MKL local, pero cuando comencé a obtener el ImportError, comencé a jugar con pip install ing numpy, pero este error sigue ahí.

In [3]: np.__version__
Out[3]: '1.15.1'

Eso es extraño, el módulo _multiarray_umath es nuevo en master. Dicho esto, sospecho que la reciente reordenación del código está en la raíz de sus problemas.

Si está utilizando el desarrollo de numpy, es posible que desee volver a compilar tensorflow si es posible.

Y tal vez elimine todas las versiones numpy instaladas que no sean del sistema y vuelva a instalar.

¡Gracias @charris ! Es casi seguro que parece que hubo un caché defectuoso que provocó este error de importación; ¡Acabo de construir un Docker limpio y solo probé las importaciones de numpy (tanto pip como de compilación) y Tensorflow (solo pip por ahora), y ambas versiones de numpy comprobaron todo bien al importar TF!

Continuaré instalando otros paquetes e informaré si realmente fue una mala coincidencia, o si hay otros paquetes haciendo algo malo en el camino.

¡Sí, todo está bien! Gracias por las respuestas rápidas, cerrando ahora (todavía no estoy seguro de por qué las cosas salieron mal, ¡pero al menos funciona ahora!).

Enlace a la reorganización del código # 10915 PR.

Hola, frente al mismo problema con Django (advertencia con el mismo error exacto), y cualquier reinstalación, borrar caché (pip) no funciona. ¿Alguna idea de por qué está pasando esto?
¡Gracias!

@ amehrdad88 esto no está relacionado con Django. Lo que importa es cómo instaló Python y cómo instaló NumPy y los otros paquetes que usa que dependen de NumPy. Compruebe que está usando lo que cree que está usando (por ejemplo, todo del mismo env de virtualenv / conda) mirando los trazos o inspeccionando numpy.__file__ .

@ amehrdad88 esto no está relacionado con Django. Lo que importa es cómo instaló Python y cómo instaló NumPy y los otros paquetes que usa que dependen de NumPy. Compruebe que está usando lo que cree que está usando (por ejemplo, todo del mismo env de virtualenv / conda) mirando los trazos o inspeccionando numpy.__file__ .

Ok, gracias. Lo comprobaré, aunque acabo de usar el instalador de Python del sitio web oficial, luego virtualenv y todo lo demás de pip, ¡así que no debería suponer ningún problema importante! Intentaré reinstalar todo.

@rgommers parece ser un problema con otros paquetes, pero no estoy seguro de cuál. Reinstalé todo y tuve el mismo problema, así que creé un venv de prueba con solo numpy y tensorflow; importando trabajos de tensorflow. Cuando luego instalo los otros paquetes (con pip) desde un archivo requirements.txt, el error vuelve a aparecer cuando intento importar tensorflow.

¿Podría ser que uno de los paquetes que se está cargando tiene un error con respecto a numpy? ¿Se cargaría este paquete incluso si solo importo tensorflow?

Nota: También tuve una advertencia "FutureWarning: Conversión del segundo argumento de issubdtype de float a np.floating está en desuso" que desapareció al actualizar h5py

@ amehrdad88 este problema está cerrado. Documente exactamente qué comandos está ejecutando e intente importar tensorflow después de cada paso posterior a la instalación de tensorflow. Si aún cree que el problema es con NumPy y no con otro paquete, abra un nuevo problema y adjunte la documentación junto con el resultado.

¿Podría ser que uno de los paquetes que se está cargando tiene un error con respecto a numpy? ¿Se cargaría este paquete incluso si solo importo tensorflow?

no, eso es bastante improbable. lo que está sucediendo es probablemente pip reinstalando numpy de alguna manera porque se ingresó a través de requirements.txt . O tiene un paquete en su PYTHONPATH en alguna parte. O. Si revisa e importa paquetes uno por uno, debería poder encontrar cuál es problemático y si está extrayendo algo desde fuera de su virtualenv limpio.

Estoy empezando a tener este comportamiento al crear mi aplicación en CircleCI. En el caparazón:

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'

Esta compilación funcionaba bien hace 4 días, pero ahora mi compilación está fallando sin cambios en Requirements.txt. ¿Ha cambiado algo recientemente? Estoy ejecutando numpy 1.14.3 y pandas 0.20.3

Solo como seguimiento, pip install ing numpy primero (por separado), y luego los pandas hicieron el truco por mí ...

Estoy empezando a tener este comportamiento al crear mi aplicación en CircleCI. En el caparazón:

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'

Esta compilación funcionaba bien hace 4 días, pero ahora mi compilación está fallando sin cambios en Requirements.txt. ¿Ha cambiado algo recientemente? Estoy ejecutando numpy 1.14.3 y pandas 0.20.3

Tengo el mismo problema, todo estaba funcionando bien hace 3 días. Ahora, de repente, aparece este error de importación cuando intento cargar archivos en escabeche

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.

Recibo un problema similar al intentar cargar archivos en escabeche:

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'

Quizás esto debería reabrirse. No estoy seguro de si esto es relevante.

También obteniendo esto al intentar usar pd.read_pickle :


Seguimiento completo

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, esto puede ser un duplicado del número 12837. En cualquier caso, los problemas de decapado con 1.16.0 se corrigen con # 12842 (actualizado a 1.16.1 en # 12869). Se solucionará con el lanzamiento de 1.16.1.

pip install --upgrade numpy

esto elimina la versión anterior e instala la versión más nueva .. esto resolvió el emitido para mí

Tengo el mismo problema, numpy.core._multiarray_umath no se pudo importar

Finalmente lo averiguo, es porque la versión numpy es demasiado baja, actualice numpy a 1.16.2, y todo está bien

Desinstale numpy y luego actualice y actualice

pip install -U numpy upgrade numpy en él

Esto hizo el truco :)
pip install --upgrade numpy

en el indicador de anaconda:
pip uninstall numpy

entonces:
pip install numpy

¡trabajó para mi!

Hola,
Hay un montón de paquetes que estoy instalando que requieren NumPy (por ejemplo, TensorFlow), y parece que no puedo instalarlos e importarlos debido a un ImportError en el lado numpy.
Esto está sucediendo tanto con la instalación de pip como con la compilación desde la fuente.
Ejemplo de código de reproducción:
importar numpy como np
importar tensorflow como tf
Mensaje de error:
ImportError: numpy.core._multiarray_umath no se pudo importar

Información de la versión de Numpy / Python:
"1.16.0.dev0 + cdbf35b"

Me he enfrentado al mismo problema.
He resuelto el problema desinstalando Theano, tensorflow y keras; luego los instalé en este orden:

  1. theano
  2. tensorflow
  3. keras

Desinstale numpy y luego actualice y actualice

¡Te llevaré! Si alguien hace preguntas en inglés, ¡usted responde en chino!

@ datianshi21 nuestro idioma oficial es el inglés. El traductor de Google dice que tu comentario es "Desinstalación y actualización de Numpy
¡Solo te sirvo! Otras personas hacen preguntas en inglés, ¡tú respondes en chino! "
¿Eres un bot?

pip install --upgrade numpy --user me dio el error:

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.

Todo funcionó después de desinstalar mxnet-mkl .

Comenzó a funcionar para mí cuando instalé pandas. No tengo idea de por qué.

https://github.com/numpy/numpy/issues/11871#issuecomment -487995082

Los pandas instalan numpy como dependencia.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

perezpaya picture perezpaya  ·  4Comentarios

Foadsf picture Foadsf  ·  3Comentarios

dmvianna picture dmvianna  ·  4Comentarios

marcocaccin picture marcocaccin  ·  4Comentarios

kevinzhai80 picture kevinzhai80  ·  4Comentarios