Numpy: ImportError : numpy.core._multiarray_umath n'a pas pu être importé

Créé le 3 sept. 2018  ·  36Commentaires  ·  Source: numpy/numpy

Bonjour,

Il y a un tas de packages que j'installe qui nécessitent NumPy (par exemple TensorFlow), et je n'arrive pas à les installer et les importer à cause d'une ImportError du côté numpy.

Cela se produit à la fois avec pip install et la construction à partir des sources.

Exemple de code de reproduction :

import numpy as np
import tensorflow as tf

Message d'erreur:

ImportError: numpy.core._multiarray_umath failed to import

Informations sur la version Numpy/Python :

'1.16.0.dev0+cdbf35b'

Commentaire le plus utile

pip install --upgrade numpy

cela supprime la version précédente et installe la nouvelle version .. cela a résolu le problème pour moi

Tous les 36 commentaires

J'ai l'impression que cela pourrait également être un problème de système, car même un numpy plus ancien me donne la même erreur

Nous avons besoin de plus d'informations pour vous aider. Est-ce que import numpy as np réussit, puis import tensorflow as tf échoue ? Si c'est le premier, alors il devrait y avoir plus d'informations sur l'exception. Si c'est le deuxième, où avez-vous obtenu le tensorflow ? Quel python utilisez-vous ?

Salut @mattip :

C'est ce dernier (comme dans : je peux import numpy tout va bien, mais alors TF est celui qui ne parvient pas à importer).

Voici la trace complète (j'utilise le dernier fichier shell Miniconda):

```Python 3.6.5 |Anaconda, Inc.| (par défaut, 29 avril 2018, 16:14:56)
Tapez « copyright », « crédits » ou « licence » pour plus d'informations
IPython 6.5.0 -- Un Python interactif amélioré. Taper '?' pour aider.

Dans [1] : importer numpy en tant que np

Dans [2] : importer tensorflow en tant que tf

ImportError Traceback (appel le plus récent en dernier)

ImportError : numpy.core._multiarray_umath n'a pas pu être importé

ImportError Traceback (appel le plus récent en dernier)

ImportError : numpy.core._multiarray_umath n'a pas pu être importé

ImportError Traceback (appel le plus récent en dernier)

ImportError : numpy.core._multiarray_umath n'a pas pu être importé

ImportError Traceback (appel le plus récent en dernier)
ImportError : numpy.core._multiarray_umath n'a pas pu être importé

Dans [3] : np.__version__
Sortie[3] : '1.15.1'
```

J'ai toujours construit Numpy et Scipy à partir des sources depuis que je voulais me connecter à mon MKL local, mais quand j'ai commencé à obtenir l'erreur d'importation, j'ai commencé à bidouiller avec pip install ing numpy mais cette erreur est toujours là

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

C'est étrange, le module _multiarray_umath est nouveau dans master. Cela dit, je soupçonne que le récent réarrangement du code est à l'origine de vos problèmes.

Si vous utilisez le développement numpy, vous voudrez peut-être recompiler tensorflow si cela est possible.

Et peut-être supprimez toutes les versions numpy non système installées et réinstallez-les.

Merci @charris ! Il semble presque certainement qu'il y avait un mauvais cache causant cette erreur d'importation ; Je viens de créer un Docker propre et de tester les importations numpy (à la fois pip et build) et Tensorflow (juste pip pour l'instant), et les deux versions de numpy ont tout vérifié lors de l'importation de TF !

Je continuerai à installer d'autres packages et à dire si c'était vraiment une mauvaise coïncidence, ou s'il y a d'autres packages qui font quelque chose de méchant en cours de route !

Oui tout va bien ! Merci pour les réponses rapides, je ferme maintenant (je ne sais toujours pas pourquoi les choses se sont mal passées, mais au moins cela fonctionne maintenant !).

Lien vers le PR de réorganisation du code #10915.

Salut, face au même problème avec Django (avertissement avec exactement la même erreur), et toute réinstallation, vider le cache (pip) ne fonctionne pas. Une idée de pourquoi cela se produit?
Merci!

@amehrdad88 cela n'a aucun rapport avec Django. Ce qui compte, c'est comment vous avez installé Python, et comment vous avez installé NumPy et les autres packages que vous utilisez qui dépendent de NumPy. Vérifiez que vous utilisez ce que vous pensez utiliser (par exemple, tout ce qui provient du même env virtualenv / conda) en examinant les traces ou en inspectant numpy.__file__ .

@amehrdad88 cela n'a aucun rapport avec Django. Ce qui compte, c'est comment vous avez installé Python, et comment vous avez installé NumPy et les autres packages que vous utilisez qui dépendent de NumPy. Vérifiez que vous utilisez ce que vous pensez utiliser (par exemple, tout ce qui provient du même env virtualenv / conda) en examinant les traces ou en inspectant numpy.__file__ .

Ok merci je vais vérifier si je viens d'utiliser le programme d'installation Python du site officiel, puis virtualenv et tout le reste de pip donc cela ne devrait pas poser de problème majeur ! Je vais essayer de tout réinstaller.

@rgommers semble être un problème avec d'autres packages, mais

Se pourrait-il que l'un des packages en cours de chargement contienne une erreur en ce qui concerne numpy? Ce package serait-il chargé même si je n'importe que tensorflow ?

Remarque : j'ai également eu un avertissement "FutureWarning : La conversion du deuxième argument de issubdtype de float en np.floating est obsolète" qui a disparu en mettant à jour h5py

@amehrdad88 ce problème est clos. Veuillez documenter exactement les commandes que vous exécutez et essayez d'importer tensorflow après chaque étape suivant l'installation de tensorflow. Si vous pensez toujours que le problème vient de NumPy et non d'un autre package, ouvrez un nouveau problème et joignez la documentation à la sortie.

Se pourrait-il que l'un des packages en cours de chargement contienne une erreur en ce qui concerne numpy? Ce package serait-il chargé même si je n'importe que tensorflow ?

non, c'est assez improbable. ce qui se passe, c'est probablement que pip réinstalle numpy d'une manière ou d'une autre parce qu'il est extrait via requirements.txt . Ou vous avez un paquet sur votre PYTHONPATH quelque part. Ou. Si vous parcourez et importez les packages un par un, vous devriez pouvoir trouver celui qui pose problème et s'il tire quelque chose de l'extérieur de votre virtualenv propre.

Je commence à avoir ce comportement lors de la création de mon application sur CircleCI. Dans la coquille :

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'

Cette version fonctionnait correctement il y a 4 jours, mais maintenant, ma version échoue sans aucune modification du fichier requirements.txt. Quelque chose a-t-il changé récemment ? Je cours numpy 1.14.3 et pandas 0.20.3

Juste comme suivi, pip install ing numpy d'abord (séparément), puis les pandas ont fait l'affaire pour moi...

Je commence à avoir ce comportement lors de la création de mon application sur CircleCI. Dans la coquille :

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'

Cette version fonctionnait correctement il y a 4 jours, mais maintenant, ma version échoue sans aucune modification du fichier requirements.txt. Quelque chose a-t-il changé récemment ? Je cours numpy 1.14.3 et pandas 0.20.3

J'ai le même problème, tout fonctionnait bien il y a 3 jours. Maintenant, il y a soudainement cette erreur d'importation lorsque j'essaie de charger des fichiers décapés

Le module d'extension c _multiarray_umath est nouveau pour numpy 1.16.0, et peut indiquer un mélange de versions, ou des attentes de version, quelque part. Notez que ce problème est fermé, si vous pensez qu'il y a un problème avec numpy, veuillez ouvrir un nouveau problème détaillant exactement ce que vous faites.

J'obtiens un problème similaire lorsque j'essaie de charger des fichiers picklé :

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'

Cela devrait peut-être être rouvert. Je ne sais pas si cela est pertinent.

Obtenir également ceci en essayant d'utiliser pd.read_pickle :


Suivi complet

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 cela peut être un doublon du numéro 12837. Dans tous les cas, les problèmes de décapage avec 1.16.0 sont corrigés par #12842 (rétroporté en 1.16.1 dans #12869). Il sera résolu avec la version 1.16.1.

pip install --upgrade numpy

cela supprime la version précédente et installe la nouvelle version .. cela a résolu le problème pour moi

J'ai le même problème, numpy.core._multiarray_umath n'a pas réussi à importer

Je comprends enfin, c'est parce que la version numpy est trop basse, mettez à niveau numpy vers 1.16.2, et tout va bien

Désinstallez numpy, puis mettez à jour et mettez à niveau

pip install -U numpy upgrade numpy dessus

Cela a fait l'affaire :)
pip install --upgrade numpy

dans l'invite anaconda :
pip uninstall numpy

ensuite:
pip install numpy

a fonctionné pour moi !

Bonjour,
Il y a un tas de packages que j'installe qui nécessitent NumPy (par exemple TensorFlow), et je n'arrive pas à les installer et les importer à cause d'une ImportError du côté numpy.
Cela se produit à la fois avec l'installation de pip et la construction à partir de la source.
Exemple de code de reproduction :
importer numpy en tant que np
importer tensorflow en tant que tf
Message d'erreur:
ImportError : numpy.core._multiarray_umath n'a pas pu être importé

Informations sur la version Numpy/Python :
'1.16.0.dev0+cdbf35b'

J'ai été confronté au même problème.
J'ai résolu le problème en désinstallant Theano, tensorflow et keras ; puis les a installés dans cet ordre :

  1. théano
  2. tensorflow
  3. keras

Désinstallez numpy, puis mettez à jour et mettez à niveau

Je te prendrais! Si quelqu'un pose des questions en anglais, vous répondez en chinois !

@datianshi21 notre langue officielle est l'anglais. Google translate dit que votre commentaire est "Désinstaller et mettre à jour Numpy
Juste vous servir ! D'autres personnes posent des questions en anglais, vous répondez en chinois !"
Etes-vous un robot?

pip install --upgrade numpy --user m'a donné l'erreur :

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.

Tout a fonctionné après la désinstallation de mxnet-mkl .

Cela a commencé à fonctionner pour moi lorsque j'ai installé des pandas. Aucune idée pourquoi.

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

Les pandas installent numpy en tant que dépendance.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

astrofrog picture astrofrog  ·  4Commentaires

toddrjen picture toddrjen  ·  4Commentaires

dmvianna picture dmvianna  ·  4Commentaires

inducer picture inducer  ·  3Commentaires

dcsaba89 picture dcsaba89  ·  3Commentaires