你如何解决 numpy 和熊猫的"runtimeError: package fails to pass a sanity check"?



这是我遇到的错误,据我所知,错误链接上没有任何有用的东西可以修复它。

RuntimeError:当前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和panda。我目前正在使用PyCharm来完成这一切。

使用python3.9和numpy1.19.4时会发生此错误因此,卸载numpy1.19.4并安装1.19.3即可。


编辑

截至2021年1月5日,numpy版本1.19.5已经发布,似乎可以解决问题。

我使用的是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中的一个错误,至今仍未解决。

只需安装numpy==1.19.3我正在使用python 3.9

根据您提供的链接上的讨论,一个numpy dev回答:

NumPy发布了1.19.3错误修复程序来解决此问题。这个错误修复程序破坏了Linux上的其他内容,因此我们不得不在中恢复修复程序1.19.4版本,但您仍然可以通过pip安装安装1.19.3numpy==1.19.3.

因此,如果您需要同时适用于Linux和Windows的需求,则需要使用PEP508:

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

这是numpy 1.19.4的一个错误,在所有python版本中都会失败。使用以前的版本来解决问题,因此通过终端:

pip install numpy==1.19.3

在python 3.8.6 上回滚到numpy 1.19.3对我有效

有问题的链接中提供了解决方法。

开发者mattip在他建议的变通方法中提到了以下内容:

  1. 卸载numpy。(很可能是1.19.4(
  2. pip安装numpy==1.19.3

这对我有效。

我的配置:OS-Win10,Anaconda Distribution,python=3.7

为什么没有人发布1.19.3和1.19.4之间的差异。

有问题的numpy init代码是:

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中不存在此代码段;这是唯一的区别。

我必须按照下面的步骤来修复这个错误,就像上面其他人建议的那样。

我的环境详细信息:Windows 10 64位,安装了Python 3.9.0。我已经安装了管道20.3.1

pip uninstall numpy
pip install numpy==1.19.3

我发布了我的powershell命令行输出供您参考(可能对某些人有用(。

PS C:\Users\XXXX>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:\Users\XXXX>pip安装numpy==1.19.3

采集数量==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

相关内容

  • 没有找到相关文章