Problem :
This is the error I am getting and, as far as I can tell, there is nothing useful on the error link to fix this.
RuntimeError: The current Numpy installation
('...\venv\lib\site-packages\numpy\__init__.py'
) 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
I have tried multiple versions of Python (3.8.6 and 3.9.0) and numpy and pandas. I am currently using PyCharm to do all this.
Solution :
This error occurs when using python3.9 and numpy1.19.4
So uninstalling numpy1.19.4 and installing 1.19.3 will work.
Edit
As of January 5th 2021 numpy version 1.19.5
is out and appears to solve the problem.
I am using Python 3.7, anyway the same solution suggested here helped me.
pip install numpy==1.19.3
Actually the link informed https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html shows the given solution. It seems to be a bug in Visual Studio, which remains unsolved up to this date.
Just install numpy==1.19.3
I am using python 3.9
As per the discussion on the link you provided, a numpy dev answered:
NumPy has released a bugfix 1.19.3 to work around this issue. The
bugfix broke something else on Linux, so we had to revert the fix in
release 1.19.4, but you can still install the 1.19.3 via pip install
numpy==1.19.3.
So, if you need requirements that work for both Linux and Windows, you’ll need to use PEP508:
numpy==1.19.3; platform_system == "Windows"
numpy>=1.19.4; platform_system == "linux"
It’s a bug of numpy 1.19.4
that fails with all python versions. Use the previous version to solve the problem, so by terminal:
pip install numpy==1.19.3
Rolling back to numpy 1.19.3 worked for me on python 3.8.6
The workaround is provided in the link mentioned in question.
The developer mattip mentions below in the workaround suggested by him:
- Uninstall numpy.( Most probably it’s 1.19.4)
- pip install numpy==1.19.3
This worked for me.
My configuration:OS-Win10,Anaconda Distribution,python=3.7
Why hasn’t anyone posted the difference between 1.19.3 and 1.19.4.
The problematic numpy init code is:
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
This code section doesn’t exist in 1.19.3; that’s the only difference.
I had to follow below steps to fix this error as everyone else has suggested above.
My environment details: Windows 10 64 bit, with Python 3.9.0 installed. I have installed pip 20.3.1
pip uninstall numpy
pip install numpy==1.19.3
I am posting my powershell command line output for your reference(may be useful to someone).
PS C:UsersXXXX> pip uninstall numpy
Found existing installation: numpy 1.19.4
Uninstalling numpy-1.19.4:
Would remove:
c:python39libsite-packagesnumpy-1.19.4.dist-info*
c:python39libsite-packagesnumpy*
c:python39scriptsf2py.exe
Proceed (y/n)? y
Successfully uninstalled numpy-1.19.4
PS C:UsersXXXX> pip install numpy==1.19.3
Collecting numpy==1.19.3
Downloading numpy-1.19.3-cp39-cp39-win_amd64.whl (13.3 MB)
|████████████████████████████████| 13.3 MB 6.4 MB/s
Installing collected packages: numpy
Successfully installed numpy-1.19.3