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.
import numpy as np
import tensorflow as tf
ImportError: numpy.core._multiarray_umath failed to import
'1.16.0.dev0+cdbf35b'
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
ImportError Traceback (última llamada más reciente)
ImportError Traceback (última llamada más reciente)
ImportError Traceback (última llamada más reciente)
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
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 importarInformació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:
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.
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í