Numpy: ImportError: numpy.core._multiarray_umath не удалось импортировать

Созданный на 3 сент. 2018  ·  36Комментарии  ·  Источник: numpy/numpy

Привет,

Есть множество пакетов, которые я устанавливаю, для которых требуется NumPy (например, TensorFlow), и я не могу установить и импортировать их из-за ImportError на стороне numpy.

Это происходит как с pip install и с сборкой из исходного кода.

Воспроизведение примера кода:

import numpy as np
import tensorflow as tf

Сообщение об ошибке:

ImportError: numpy.core._multiarray_umath failed to import

Информация о версии Numpy / Python:

'1.16.0.dev0+cdbf35b'

Самый полезный комментарий

pip install --upgrade numpy

это удаляет предыдущую версию и устанавливает более новую версию .. это решило проблему для меня

Все 36 Комментарий

Я чувствую, что это может быть какая-то системная проблема, потому что даже более старый numpy выдает мне ту же ошибку

Нам нужна дополнительная информация, чтобы помочь вам. Выполняется ли import numpy as np успешно, а затем import tensorflow as tf неуспешно? Если это первое, то должно быть больше информации об исключении. Если второй, то откуда у вас тензорный поток? Какой питон вы используете?

Привет @mattip :

Это последнее (например: я могу import numpy все хорошо, но тогда TF - это тот, который не может импортировать).

Вот полный след (я использую последнюю версию файла оболочки Miniconda):

`` Python 3.6.5 | Anaconda, Inc. | (по умолчанию, 29 апреля 2018 г., 16:14:56)
Введите "авторское право", "кредиты" или "лицензия" для получения дополнительной информации.
IPython 6.5.0 - улучшенный интерактивный Python. Тип '?' за помощью.

В [1]: импортировать numpy как np

В [2]: импортировать тензорный поток как tf

ImportError Traceback (последний вызов последним)

ImportError: numpy.core._multiarray_umath не удалось импортировать

ImportError Traceback (последний вызов последним)

ImportError: numpy.core._multiarray_umath не удалось импортировать

ImportError Traceback (последний вызов последним)

ImportError: numpy.core._multiarray_umath не удалось импортировать

ImportError Traceback (последний вызов последним)
ImportError: numpy.core._multiarray_umath не удалось импортировать

В [3]: np .__ version__
Out [3]: '1.15.1'
`` ''

Я всегда создавал Numpy и Scipy из исходного кода, так как я хотел связать с моим локальным MKL, но когда я начал получать ImportError, я начал возиться с pip install ing numpy, но эта ошибка все еще существует

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

Странно, но модуль _multiarray_umath является новым в master. Тем не менее, я подозреваю, что недавняя перестановка кода лежит в основе ваших проблем.

Если вы используете разработку numpy, возможно, вам захочется перекомпилировать тензорный поток, если это возможно.

И, возможно, удалите все установленные несистемные версии numpy и переустановите.

Спасибо @charris ! Почти наверняка похоже, что причиной этой ошибки импорта был какой-то плохой кеш; Я только что построил чистый Docker и только что протестировал импорт numpy (как pip, так и build) и Tensorflow (пока только pip), и обе версии numpy проверяли все хорошо при импорте TF!

Я продолжу устанавливать другие пакеты и доложу, действительно ли это было плохое совпадение, или есть какие-то другие пакеты, делающие что-то непослушное по пути!

Ага, все хорошо! Спасибо за быстрые ответы, закрытие сейчас (до сих пор не знаю, почему что-то пошло не так, но, по крайней мере, теперь это работает!).

Ссылка на PR реорганизации кода # 10915.

Привет, столкнулся с той же проблемой с Django (предупреждение с той же ошибкой), и любая переустановка, очистка кеша (pip) не работает. Есть идеи, почему это происходит?
Благодарность!

@ amehrdad88 это не связано с Django. Важно то, как вы установили Python и как вы установили NumPy и другие используемые вами пакеты, которые зависят от NumPy. Убедитесь, что вы используете то, что, по вашему мнению, используете (например, все из того же окружения virtualenv / conda), просмотрев трассировки или проверив numpy.__file__ .

@ amehrdad88 это не связано с Django. Важно то, как вы установили Python и как вы установили NumPy и другие используемые вами пакеты, которые зависят от NumPy. Убедитесь, что вы используете то, что, по вашему мнению, используете (например, все из того же окружения virtualenv / conda), просмотрев трассировки или проверив numpy.__file__ .

Хорошо, спасибо, я проверю, хотя я просто использовал установщик Python с официального сайта, затем virtualenv и все остальное из pip, поэтому не должно вызывать серьезных проблем! Попробую все переустановить.

@rgommers кажется проблемой с другими пакетами, но не уверен, с какими. Я переустановил все и столкнулся с той же проблемой, поэтому я просто создал тестовый venv только с numpy и tensorflow; импорт тензорного потока работает. Когда я затем устанавливаю другие пакеты (с помощью pip) из файла requirements.txt, ошибка появляется снова, когда я пытаюсь импортировать тензорный поток.

Может быть, в одном из загружаемых пакетов есть ошибка в отношении numpy? Будет ли этот пакет загружен, даже если я импортирую только тензорный поток?

Примечание: у меня также было предупреждение «FutureWarning: преобразование второго аргумента issubdtype из float в np.floating устарело», которое исчезло после обновления h5py

@ amehrdad88 этот вопрос закрыт. Пожалуйста, задокументируйте, какие именно команды вы выполняете, и попытайтесь импортировать тензорный поток после каждого шага после установки тензорного потока. Если вы все еще думаете, что проблема связана с NumPy, а не с другим пакетом, откройте новую проблему и приложите документацию к выходным данным.

Может быть, в одном из загружаемых пакетов есть ошибка в отношении numpy? Будет ли этот пакет загружен, даже если я импортирую только тензорный поток?

нет, это маловероятно. что происходит, вероятно, pip переустановка numpy каким-то образом, потому что он втянут через requirements.txt . Или у вас есть пакет где-то на вашем PYTHONPATH. Или. Если вы просматриваете и импортируете пакеты один за другим, вы сможете найти, какой из них проблематичный, и если он что-то тянет извне вашего чистого virtualenv.

Я начинаю получать такое поведение при создании своего приложения на CircleCI. В оболочке:

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'

Эта сборка работала нормально 4 дня назад, но теперь моя сборка не работает без каких-либо изменений в файле requirements.txt. Что-то недавно изменилось? Я использую numpy 1.14.3 и pandas 0.20.3

Как продолжение, сначала pip install ing numpy (отдельно), а затем pandas сделали свое дело за меня ...

Я начинаю получать такое поведение при создании своего приложения на CircleCI. В оболочке:

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'

Эта сборка работала нормально 4 дня назад, но теперь моя сборка не работает без каких-либо изменений в файле requirements.txt. Что-то недавно изменилось? Я использую numpy 1.14.3 и pandas 0.20.3

У меня такая же проблема, 3 дня назад все работало нормально. Теперь внезапно возникает эта ошибка импорта, когда я пытаюсь загрузить маринованные файлы

Модуль c-extension _multiarray_umath является новым для numpy 1.16.0 и может где-то указывать на сочетание версий или ожидаемых версий. Обратите внимание, что эта проблема закрыта. Если вы считаете, что существует проблема с numpy, откройте новую проблему, подробно описав, что вы делаете.

У меня возникает аналогичная проблема при попытке загрузить маринованные файлы:

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'

Может быть, это стоит открыть заново. Не уверен, актуально ли это .

Также получаю это при попытке использовать pd.read_pickle :


Полная обратная связь

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, это может быть дубликат проблемы №12837. В любом случае, проблемы с травлением в 1.16.0 исправлены # 12842 (бэкпортированы на 1.16.1 в # 12869). Решится с выходом 1.16.1.

pip install --upgrade numpy

это удаляет предыдущую версию и устанавливает более новую версию .. это решило проблему для меня

У меня та же проблема, numpy.core._multiarray_umath не удалось импортировать

Я наконец понял это , Это потому, что версия numpy слишком низкая, обновите numpy до 1.16.2, и все в порядке

Удалите numpy, а затем обновите и обновите

pip install -U numpy upgrade numpy на нем

Это сработало :)
pip install --upgrade numpy

в подсказке анаконды:
pip uninstall numpy

тогда:
pip install numpy

у меня сработало!

Привет,
Есть множество пакетов, которые я устанавливаю, для которых требуется NumPy (например, TensorFlow), и я не могу установить и импортировать их из-за ImportError на стороне numpy.
Это происходит как при установке pip, так и при сборке из исходников.
Воспроизведение примера кода:
импортировать numpy как np
импортировать тензорный поток как tf
Сообщение об ошибке:
ImportError: numpy.core._multiarray_umath не удалось импортировать

Информация о версии Numpy / Python:
'1.16.0.dev0 + cdbf35b'

Я столкнулся с той же проблемой.
Я решил проблему, удалив Theano, tensorflow и keras; затем установил их в таком порядке:

  1. Theano
  2. тензорный поток
  3. Керас

Удалите numpy, а затем обновите и обновите

Я возьму тебя! Если кто-то задает вопросы на английском, вы отвечаете на китайском!

@ datianshi21 наш официальный язык - английский. Google translate говорит, что ваш комментарий: "Numpy удалить и обновить
Просто служу тебе! Другие люди задают вопросы на английском, вы отвечаете на китайском! "
Вы - бот?

pip install --upgrade numpy --user дал мне ошибку:

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.

Все mxnet-mkl после удаления

У меня это начало работать, когда я установил панды. Не знаю почему.

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

Панды устанавливают numpy как зависимость.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги