python numpy版本报错: File "*\numpy\__init__.py", line 305, in <module> _win_os_check()
具体代码如下所示:
from numpy import * import operator a = random.rand(4, 4) print(a)
具体报错内容如下所示:
Traceback (most recent call last): File "D:/py_prj/rtl_split/venv/Include/test.py", line 1, in <module> from numpy import * File "*\numpy\__init__.py", line 305, in <module> _win_os_check() File "*\numpy\__init__.py", line 302, in _win_os_check raise RuntimeError(msg.format(__file__)) from None RuntimeError: The current Numpy installation ('*\\numpy\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86
参考资料:https://github.com/numpy/numpy/wiki/FMod-Bug-on-Windows
There is a Bug with fmod on windows, see https://tinyurl.com/y3dm3h86
To prevent unexpected runtime behavior, opencv contains a Check for this:
try:
    a = arange(13 * 13, dtype= float64).reshape(13, 13)
    a = a % 17  # calls fmod
    linalg.eig(a)
except Exception:
    raise RuntimeError("The current Numpy installation (...) fails to pass a sanity check due to a bug in the windows runtime. ...
See Pull Request https://github.com/numpy/numpy/pull/17553
Workaround
This is a windows issue and has to be fixed by Microsoft, however, a fix has not arrived for several weeks now.
- 
Pinning against NumPy 1.19.3 should help (it uses a newer OpenBLAS version, but this caused other problems). This can be achieved using e.g. with pip install numpy==1.19.3or similar depending on your setup. To be clear: The only difference between NumPy 1.19.3 and 1.19.4 is the OpenBLAS version it ships.
- 
32bit Python does not have these issues 
- 
In principle you could revert the buggy windows update or deactivate the _win_os_checkin NumPy (if you are lucky, your code is unaffected by the bug).
原因:是1.19.4版本有问题,需要安装1.19.3版本

 
更换版本后使用 import numpy
numpy.__version__ 可以查看该版本号
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号