问题描述
当我尝试运行scipy时,会发生以下情况:
>>> import scipy
>>> from scipy import stats
Traceback (most recent call last):
File "<pyshell#1>",line 1,in <module>
from scipy import stats
File "C:\Users\ASUS\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages \python37\site-packages\scipy\stats\__init__.py",line 384,in <module>
from .stats import *
File "C:\Users\ASUS\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\python37\site-packages\scipy\stats\stats.py",line 179,in <module>
from scipy.spatial.distance import cdist
File "C:\Users\ASUS\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\python37\site-packages\scipy\spatial\__init__.py",line 99,in <module>
from .qhull import *
ImportError: DLL load Failed: Das angegebene Modul wurde nicht gefunden.
我已经整天用Google搜索,但是找不到解决该问题的方法。我发现了这个问题 "ImportError: DLL load failed: The specified module could not be found" when trying to import gensim
这总结了我的整个问题,因为我尝试了完全相同的事情:
首先,我使用pip安装scipy,并尝试将其卸载并重新安装。
然后,我也尝试了scipy版本1.4.1。成功导入了scipy而不是scipy.stats
最后,我也尝试卸载numpy + mkl,然后再次重新安装它,结果是:“导入numpy c-extensions失败”
非常感谢您的帮助!
解决方法
Numpy 和 scipy 依赖于较低级别的 Fortran 库(例如 BLAS 和 lapack)来执行它们的许多功能。这些库有许多不同的版本,包括可从 netlib 获得的高度可移植的版本,以及针对特定系统优化的其他版本。特别是,英特尔有一个叫做“MKL”——英特尔数学内核库。所以 numpy-mkl 只是表示针对 MKL fortran 库编译的 numpy 版本。
可能是您之前安装的 numpy 版本不知何故损坏,无法找到所需的库。