如何修复 numpy 和 pandas 的“runtimeError:包未能通过健全性检查”?
- 2024-12-03 08:44:00
- admin 原创
- 179
问题描述:
这是我遇到的错误,据我所知,错误链接上没有任何有用的内容可以解决这个问题。
RuntimeError:由于 Windows 运行时中的错误,当前 Numpy 安装(
'...\venv\lib\site-packages\numpy\__init__.py'
)未能通过健全性检查。
有关更多信息,请参阅此问题: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就可以了。
编辑
截至 2021 年 1 月 5 日,numpy 版本1.19.5
已经发布并且似乎解决了该问题。
解决方案 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 中的一个错误,至今仍未解决。
解决方案 3:
只需安装numpy==1.19.3
我使用的是python 3.9
解决方案 4:
根据您提供的链接上的讨论,numpy 开发人员回答:
NumPy 发布了错误修复版本 1.19.3 来解决此问题。此错误修复在 Linux 上破坏了其他内容,因此我们不得不在版本 1.19.4 中恢复修复,但您仍然可以通过 pip install numpy==1.19.3 安装 1.19.3。
因此,如果您需要适用于 Linux 和 Windows 的要求,则需要使用 PEP508:
numpy==1.19.3; platform_system == "Windows"
numpy>=1.19.4; platform_system == "linux"
解决方案 5:
这是numpy 1.19.4
所有 Python 版本都会失败的一个错误。使用以前的版本可以解决问题,因此通过终端:
pip install numpy==1.19.3
解决方案 6:
在 python 3.8.6 上回滚到 numpy 1.19.3 对我来说是有效的
解决方案 7:
所提到的链接中提供了解决方法。
开发人员mattip在他建议的解决方法中提到了以下内容:
卸载 numpy。(很可能是 1.19.4)
pip 安装 numpy==1.19.3
这对我有用。
我的配置:OS-Win10,Anaconda Distribution,python=3.7
解决方案 8:
为什么没有人发布 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 中不存在;这是唯一的区别。
解决方案 9:
我必须按照以下步骤修复此错误,正如其他人上面建议的那样。
我的环境详情:Windows 10 64 位,安装了 Python 3.9.0。我安装了 pip 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-packages
umpy-1.19.4.dist-info*
c:python39libsite-packages
umpy*
c:python39scripts2py.exe
是否继续 (y/n)?y
成功卸载numpy-1.19.4
PS C:\Users\XXXX> pip install 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