Salut,
J'ai un problème similaire à #11871. J'ai récemment installé numpy 1.16.0 mais j'ai dû rétrograder et maintenant je continue à recevoir ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
.
L'exemple ci-dessous fonctionnait bien il y a environ une semaine.
En fait, j'ai fini par supprimer TOUS les packages Python ( instructions ici ) et les réinstaller _un par un_ en utilisant apt-get
(Ubuntu 18.04.1 LTS), à l'exception de ipyparallel
et openbabel
, qui ont été installés à l'aide de pip
(je suis sûr que les deux ne sont pas liés au problème). L'exemple ci-dessous a été exécuté _après_ tout ce nettoyage.
Il semble que beaucoup de gens rencontrent ce problème ces derniers temps, avec différents packages :
Vous trouverez ci-dessous une session IPython qui affiche l'erreur :
% 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'
Quelques fichiers et versions pertinents :
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
J'utilise 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 a mentionné que
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.
Comment se fait-il que j'obtienne cette erreur même si j'ai numpy 1.13.3 ? Merci pour votre aide!
Il semble que vous décolliez un tableau qui a été enregistré dans numpy 1.16 dans numpy 1.13.3
Celui-ci ressemble à un vrai bug. Je pense que nous pourrions avoir besoin de remplacer ndarray.__module__
pour être rétrocompatible.
Je crois que @tzickel a raison. Je viens de régénérer data.h5
partir de zéro (qui utilise un script, cette fois certainement en utilisant numpy 1.13.3) et le code ci-dessus a fonctionné.
% 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
Je ferme ceci car je pense que c'est résolu. Merci @tzickel !
Je ne crois pas que cette erreur soit résolue. Je n'utilise aucun fichier cornichon et j'obtiens exactement la même erreur.
J'ai cette erreur récemment depuis quelques changements sur mon MAC. J'ai suivi toutes les meilleures pratiques et je n'arrive pas à résoudre cette erreur.
Mise à niveau vers MAC High Sierra (10.13.6)
installé à la fois python 3.6 et python 3.7 pour fonctionner côte à côte en utilisant home-brew et a suivi les directives présentées ici :
https://stackoverflow.com/questions/51726203/installing-python3-6-alongside-python3-7-on-mac
configurez un nouvel env virtuel pour utiliser python 3.6.5 et un tas d'autres modules.
Cette erreur se produit dans l'environnement virtuel. Les blocs-notes et le code python de la ligne de commande génèrent l'erreur. Le code python s'exécute correctement à 100% sans autre erreur que ce message.
python mon_py_file.py
ModuleNotFoundError : aucun module nommé 'numpy.core._multiarray_umath'
ModuleNotFoundError : aucun module nommé 'numpy.core._multiarray_umath'
ModuleNotFoundError : aucun module nommé 'numpy.core._multiarray_umath'
ModuleNotFoundError : aucun module nommé 'numpy.core._multiarray_umath'
J'ai supprimé et recréé le venv mais l'erreur persiste. Il est probable que tout le code continue de s'exécuter sans aucune autre erreur.
Je ne sais pas quoi faire ensuite. S'il existe une solution, veuillez me le faire savoir, sinon à mon humble avis, ces problèmes ne devraient pas être fermés.
Un problème similaire est suivi ici :
https://github.com/alpacahq/pylivetrader/issues/73
Pour info, je viens de résoudre ce problème en forçant une réinstallation de numpy et pandas comme suit :
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
Plus de message d'erreur.
Résolu ce problème !
Traceback (appel le plus récent en dernier) :
Déposer "
Fichier "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", ligne 421, en charge
pickle_kwargs=pickle_kwargs)
Fichier "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", ligne 650, dans read_array
tableau = pickle.load (fp, ** pickle_kwargs)
ModuleNotFoundError : aucun module nommé 'numpy.core._multiarray_umath'
numpy 1.16.0
pandas 0,22,0
pip 18.1 py36_0
python 3.6.8 h0371630_0
J'espère que cela t'aides!
Résolu ce problème !
1. I was getting the same issue in numpy.load('myfile.py'):
Traceback (appel le plus récent en dernier) :
Fichier "", ligne 1, dans
Fichier "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", ligne 421, en charge
pickle_kwargs=pickle_kwargs)
Fichier "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", ligne 650, dans read_array
tableau = pickle.load (fp, ** pickle_kwargs)
ModuleNotFoundError : aucun module nommé '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
J'espère que cela t'aides!
J'ai eu ce problème et cela a résolu le problème pour moi aussi. Merci!
Mettez à jour numpy avec pip et cela fonctionnera :
pip install --upgrade numpy
@mlsmall merci. c'est magique.
Commentaire le plus utile
Pour info, je viens de résoudre ce problème en forçant une réinstallation de numpy et pandas comme suit :
pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0
Plus de message d'erreur.