Решение проблем с 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