Spec-Zone.ru › NumPy 1.18

Решение проблем с ImportError

Примечание

Поскольку эта информация может быть обновлена регулярно, убедитесь, что вы просматриваете самую актуальную версию.

ImportError

В некоторых случаях некорректная установка или настройка могут привести к следующему сообщению об ошибке:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy c-extensions failed. This error can happen for
different reasons, often due to issues with your setup.

Ошибка также содержит дополнительную информацию для решения проблем:

  • Ваша версия Python
  • Ваша версия NumPy

Пожалуйста, внимательно проверьте эти значения, чтобы убедиться, что они соответствуют вашим ожиданиям. Возможно, вам потребуется проверить переменные среды PATH или PYTHONPATH (см. Проверка переменных среды ниже).

В следующих разделах перечислены распространённые проблемы, зависящие от вашей настройки. Если у вас есть проблема/решение, которое, по вашему мнению, должно быть добавлено, откройте вопрос NumPy, чтобы оно было добавлено.

Существует несколько распространённых проблем, зависящих от вашей системы/настройки. Если ни один из следующих советов не поможет, обратите внимание на следующее:

  • как вы установили Python
  • как вы установили NumPy
  • ваша операционная система
  • установлены ли у вас несколько версий Python
  • если вы собирали из исходного кода, ваши версии компилятора и, желательно, журнал сборки

при дальнейшем расследовании и запросе поддержки.

Использование Python из conda (Anaconda)

Убедитесь, что вы активировали свою среду conda. См. также руководство по использованию conda.

Использование Anaconda/conda Python в PyCharm

При использовании PyCharm вместе с Anaconda часто возникают проблемы, см. поддержку PyCharm

Raspberry Pi

Иногда на установках Raspberry Pi при установке с помощью pip3 install (или pip установка) возникают проблемы. В этих сообщениях обычно упоминается:

libf77blas.so.3: cannot open shared object file: No such file or directory

Решение будет заключаться в следующем:

sudo apt-get install libatlas-base-dev

для установки недостающих библиотек, ожидаемых самоскомпилированным NumPy (ATLAS — возможный поставщик линейной алгебры).

В качестве альтернативы используйте NumPy, предоставляемый Raspbian. В этом случае выполните:

pip3 uninstall numpy  # remove previously installed version
apt install python3-numpy

Отладочная сборка в Windows

Вместо сборки вашего проекта в режиме DEBUG в Windows, попробуйте собрать в режиме RELEASE с отладочными символами и без оптимизации. Полный режим DEBUG в Windows изменяет имена DLL-файлов, которые ожидает найти python, поэтому если вы хотите действительно работать в режиме DEBUG, вам нужно перекомпилировать весь стек python-модулей, с которыми вы работаете, включая NumPy

Все настройки

Иногда могут возникать простые проблемы со старыми или плохими установками NumPy. В этом случае вы можете просто попробовать удалить и переустановить NumPy. Убедитесь, что NumPy не найден после удаления.

Настройка разработки

Если вы используете настройку разработки, убедитесь, что выполнили git clean -xdf для удаления всех файлов, не находящихся под управлением системы контроля версий (будьте осторожны, чтобы не потерять внесённые изменения, например, site.cfg). Во многих случаях файлы из старых сборок могут привести к неправильным сборкам.

Проверка переменных среды

В целом, способ установки и проверки переменных среды зависит от вашей системы. Если вы можете открыть правильную оболочку python, вы также можете выполнить следующее в python:

import os
PYTHONPATH = os.environ['PYTHONPATH'].split(os.pathsep)
print("The PYTHONPATH is:", PYTHONPATH)
PATH = os.environ['PATH'].split(os.pathsep)
print("The PATH is:", PATH)

Это может быть полезно в основном, если вы не запускаете ожидаемую версию python и/или NumPy.

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/user/troubleshooting-importerror.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API