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.
import numpy as np
import tensorflow as tf
ImportError: numpy.core._multiarray_umath failed to import
'1.16.0.dev0+cdbf35b'
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
ImportError Traceback (appel le plus récent en dernier)
ImportError Traceback (appel le plus récent en dernier)
ImportError Traceback (appel le plus récent en dernier)
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
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 :
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.
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