Как вы исправляете «RuntimeError: пакет не проходит проверку работоспособности» для numpy и pandas?

#python #python-3.x #windows #numpy

#python #python-3.x #Windows #numpy

Вопрос:

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

Ошибка выполнения: текущая установка Numpy ( '...\venv\lib\site-packages\numpy\__init__.py' ) не проходит проверку работоспособности из-за ошибки в среде выполнения Windows.

Смотрите Эту проблему для получения дополнительной информации: https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html

Я пробовал несколько версий Python (3.8.6 и 3.9.0), а также numpy и pandas. В настоящее время я использую PyCharm для всего этого.

Ответ №1:

Эта ошибка возникает при использовании python3.9 и numpy1.19.4, поэтому удаление numpy1.19.4 и установка 1.19.3 будут работать.


Редактировать

По состоянию на 5 января 2021 года версия numpy 1.19.5 отсутствует и, похоже, решает проблему.

Комментарии:

1. Как понизить его с помощью pip?

2. @ShaidaMuhammad pip установить numpy == 1.19.3

3. Черт numpy возьми, протестируйте, пожалуйста, перед выпуском. Это не бета-версия

4. Я использую Python 3.7.5 и тоже получил эту ошибку (numpy 1.19.4). Понижение numpy до 1.19.3 действительно предотвращает возникновение ошибки.

5. @NoName: Мы провели тестирование, и ошибка находится в самой Windows. 1.19.3 была попыткой исправить это с помощью другой версии OpenBLAS, которая решает проблему, но эта версия некорректно работала в Linux.

Ответ №2:

Я использую Python 3.7, в любом случае, мне помогло то же решение, предложенное здесь.

 pip install numpy==1.19.3
  

На самом деле ссылка сообщила https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html показывает заданное решение. Похоже, это ошибка в Visual Studio, которая остается нерешенной до сих пор.

Комментарии:

1. Технически, это ошибка в UCRT (универсальной распространяемой среде выполнения C / C ), а не в самой Visual Studio.

Ответ №3:

Просто установите numpy==1.19.3 , я использую python 3.9

Ответ №4:

Согласно обсуждению по предоставленной вами ссылке, разработчик numpy ответил:

NumPy выпустила исправление 1.19.3 для решения этой проблемы. Исправление сломало что-то еще в Linux, поэтому нам пришлось отменить исправление в версии 1.19.4, но вы все равно можете установить 1.19.3 через pip install numpy == 1.19.3.

Итак, если вам нужны требования, которые работают как для Linux, так и для Windows, вам нужно использовать PEP508:

 numpy==1.19.3; platform_system == "Windows"
numpy>=1.19.4; platform_system == "linux"
  

Комментарии:

1. Вероятно, можно сделать numpy>=1.19.4 в Linux

2. Вместо этого вы должны использовать верхний регистр «Linux»: numpy>=1.19.4; platform_system == "Linux"

3. И вы можете проверить platform_system следующим кодом: import platform;platform.system() смотрите: python.org/dev/peps/pep-0508/#environment-markers

Ответ №5:

Это ошибка numpy 1.19.4 , которая не работает со всеми версиями python. Используйте предыдущую версию для решения проблемы, поэтому с помощью терминала:

 pip install numpy==1.19.3
  

Комментарии:

1. 1.9.3 не удается установить в моей Windows

2. @JariTurkia Это 1.19.3.

Ответ №6:

Откат к numpy 1.19.3 работал для меня на python 3.8.6

Ответ №7:

Обходной путь приведен в ссылке, упомянутой в вопросе.

Разработчик mattip упоминает ниже в предложенном им обходном пути:

  1. Удалите numpy.(Скорее всего, это 1.19.4)
  2. pip install numpy == 1.19.3

Это сработало для меня.

Моя конфигурация: OS-Win10, дистрибутив Anaconda, python = 3.7

Ответ №8:

Почему никто не опубликовал разницу между 1.19.3 и 1.19.4.

Проблемный код инициализации numpy:

 def _win_os_check():
    """
    Quick Sanity check for Windows OS: look for fmod bug issue 16744.
    """
    try:
        a = arange(13 * 13, dtype= float64).reshape(13, 13)
        a = a % 17  # calls fmod
        linalg.eig(a)
    except Exception:
        msg = ("The current Numpy installation ({!r}) fails to "
                "pass a sanity check due to a bug in the windows runtime. "
                "See this issue for more information: "
                "https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html")
        raise RuntimeError(msg.format(__file__)) from None

if sys.platform == "win32" and sys.maxsize > 2**32:
    _win_os_check()

del _win_os_check
  

Этот раздел кода не существует в 1.19.3; это единственное отличие.

Комментарии:

1. Есть еще одно, более важное различие между колесами 1.19.3 и 1.19.4, установленными pip — версией OpenBLAS, с которой они построены. Если вы удалите этот код из numpy 1.19.4, то вместо numpy not importing вы получите numpy, который выдает неправильные результаты и / или случайно вылетает. Правильное исправление — переключиться на 1.19.3, который содержит «безопасную» сборку OpenBLAS.

Ответ №9:

Мне пришлось выполнить следующие шаги, чтобы исправить эту ошибку, как и все остальные, предложенные выше.

Сведения о моей среде: 64-разрядная версия Windows 10 с установленным Python 3.9.0. Я установил pip 20.3.1

 pip uninstall numpy
pip install numpy==1.19.3
  

Я публикую свой вывод командной строки powershell для вашей справки (может быть кому-то полезен).

PS C:UsersXXXX > pip удалить numpy

Найдена существующая установка: numpy 1.19.4

Удаление numpy-1.19.4:

Удалил бы:

 c:python39libsite-packagesnumpy-1.19.4.dist-info*

c:python39libsite-packagesnumpy*

c:python39scriptsf2py.exe
  

Продолжить (y / n)? y

Успешно удален numpy-1.19.4

PS C:UsersXXXX > pip установить numpy==1.19.3

Сбор numpy == 1.19.3

Загрузка numpy-1.19.3-cp39-cp39-win_amd64.whl (13.3 MB)

  |████████████████████████████████| 13.3 MB 6.4 MB/s
  

Установка собранных пакетов: numpy

Успешно установлен numpy-1.19.3