Numpy: ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'

Dibuat pada 22 Jan 2019  ·  9Komentar  ·  Sumber: numpy/numpy

Hai,

Saya mendapat masalah yang mirip dengan #11871. Saya baru-baru ini menginstal numpy 1.16.0 tetapi kemudian saya perlu menurunkan versi dan sekarang saya terus mendapatkan ModuleNotFoundError: No module named 'numpy.core._multiarray_umath' .
Contoh di bawah ini berfungsi dengan baik sekitar seminggu yang lalu.

Saya akhirnya menghapus SEMUA paket Python ( instruksi di sini ) dan menginstalnya kembali _satu per satu_ menggunakan apt-get (Ubuntu 18.04.1 LTS), kecuali untuk ipyparallel dan openbabel , yang diinstal menggunakan pip (Saya cukup yakin keduanya tidak terkait dengan masalah). Contoh di bawah ini dijalankan _after_ semua pembersihan ini.

Tampaknya banyak orang mengalami masalah ini akhir-akhir ini, dengan paket yang berbeda:

Mereproduksi contoh kode dan pesan kesalahan:

Di bawah ini adalah sesi IPython yang menunjukkan kesalahan:

% 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'

Beberapa file dan versi yang relevan:

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]: []

Informasi versi Numpy/Python:

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

Saya menggunakan 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

Di #11871 @mattip disebutkan bahwa

Modul c-extension _multiarray_umath baru untuk numpy 1.16.0, dan mungkin menunjukkan campuran versi, atau ekspektasi versi, di suatu tempat. Perhatikan masalah ini sudah ditutup, jika Anda yakin ada masalah dengan numpy, silakan buka masalah baru yang merinci apa yang Anda lakukan.

Mengapa saya mendapatkan kesalahan ini meskipun saya memiliki numpy 1.13.3? Terima kasih atas semua bantuannya!

Komentar yang paling membantu

FYI, saya baru saja menyelesaikan masalah ini dengan memaksa menginstal ulang numpy dan pandas sebagai berikut:

pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0

Tidak ada lagi pesan kesalahan.

Semua 9 komentar

Sepertinya Anda membongkar array yang disimpan di numpy 1.16 di numpy 1.13.3

Yang ini terlihat seperti bug nyata. Saya pikir kita mungkin perlu mengganti ndarray.__module__ agar kompatibel dengan versi sebelumnya.

Saya percaya @tzickel benar. Saya baru saja membuat ulang data.h5 dari awal (yang menggunakan skrip, kali ini pasti menggunakan numpy 1.13.3) dan kode di atas berfungsi.

% 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

Saya menutup ini karena saya yakin ini sudah terpecahkan. Terima kasih @tzickel!

Saya tidak percaya kesalahan ini teratasi. Saya tidak menggunakan file acar dan saya mendapatkan kesalahan yang sama persis ini.

Saya mengalami kesalahan ini baru-baru ini karena beberapa perubahan pada MAC saya. Saya mengikuti semua praktik terbaik dan sepertinya tidak dapat mengatasi kesalahan ini.

Ditingkatkan ke MAC High Sierra (10.13.6)

menginstal python 3.6 dan python 3.7 untuk berjalan berdampingan menggunakan home-brew dan mengikuti panduan yang disajikan di sini:
https://stackoverflow.com/questions/51726203/installing-python3-6-alongside-python3-7-on-mac

atur env virtual baru untuk menggunakan python 3.6.5 dan banyak modul lainnya.

Kesalahan ini terjadi di lingkungan virtual. Baik notebook dan kode python baris perintah menghasilkan kesalahan. Kode python berjalan 100% dengan benar tanpa kesalahan lain selain pesan ini.

python my_py_file.py
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'

Saya menghapus dan membuat ulang venv tetapi kesalahan tetap ada. Kemungkinan semua kode terus berjalan tanpa kesalahan lain.

Saya tidak yakin apa yang harus dilakukan selanjutnya. Jika ada solusi, beri tahu saya jika tidak, IMHO masalah ini tidak boleh ditutup.

Masalah serupa sedang dilacak di sini:
https://github.com/alpacahq/pylivetrader/issues/73

FYI, saya baru saja menyelesaikan masalah ini dengan memaksa menginstal ulang numpy dan pandas sebagai berikut:

pip install --upgrade --force-reinstall numpy==1.14.5
pip install --upgrade --force-reinstall pandas==0.22.0

Tidak ada lagi pesan kesalahan.

Memecahkan masalah ini!

  1. Saya mendapatkan masalah yang sama di numpy.load('myfile.py'):

Traceback (panggilan terakhir terakhir):
berkas "", baris 1, di
File "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", baris 421, sedang dimuat
acar_kwargs=acar_kwargs)
File "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", baris 650, di read_array
array = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'

  1. Di dalam env virtual Anaconda, konfigurasi berikut memecahkan masalah ini dalam kasus saya.

numpy 1.16.0
panda 0.22.0
pip 18.1 py36_0
python 3.6.8 h0371630_0

  1. Versi OS X: macOS High Sierra v10.13.6

Semoga ini membantu!

Memecahkan masalah ini!

1. I was getting the same issue in numpy.load('myfile.py'):

Traceback (panggilan terakhir terakhir):
File "", baris 1, di
File "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/npyio.py", baris 421, sedang dimuat
acar_kwargs=acar_kwargs)
File "/home/vivek/anaconda3/envs/Voiceattn/lib/python3.6/site-packages/numpy/lib/format.py", baris 650, di read_array
array = pickle.load(fp, **pickle_kwargs)
ModuleNotFoundError: Tidak ada modul bernama 'numpy.core._multiarray_umath'

1. Inside an Anaconda virtual env, the following config solved this issue in my case.

numpy 1.16.0
panda 0.22.0
pip 18.1 py36_0
python 3.6.8 h0371630_0

1. OS X version: macOS High Sierra v10.13.6

Semoga ini membantu!

Telah mengalami masalah ini dan ini memecahkan masalah bagi saya juga. Terima kasih!

Perbarui numpy dengan pip dan itu akan berfungsi:

instal pip --upgrade numpy

@mlsmall terima kasih. itu adalah sihir.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat