在 Windows 上使用 AMD64 构建的 Scipy 调用 scikit-learn 时出错
Posted
技术标签:
【中文标题】在 Windows 上使用 AMD64 构建的 Scipy 调用 scikit-learn 时出错【英文标题】:Error when calling scikit-learn using AMD64 build of Scipy on Windows 【发布时间】:2013-05-08 08:41:41 【问题描述】:我在这一行收到此错误:
from sklearn.ensemble import RandomForestClassifier
错误日志是:
Traceback (most recent call last):
File "C:\workspace\KaggleDigits\KaggleDigits.py", line 5, in <module>
from sklearn.ensemble import RandomForestClassifier
File "C:\Python27\lib\site-packages\sklearn\ensemble\__init__.py", line 7, in <module>
from .forest import RandomForestClassifier
File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 47, in <module>
from ..feature_selection.selector_mixin import SelectorMixin
File "C:\Python27\lib\site-packages\sklearn\feature_selection\__init__.py", line 7, in <module>
from .univariate_selection import chi2
File "C:\Python27\lib\site-packages\sklearn\feature_selection\univariate_selection.py", line 13, in <module>
from scipy import stats
File "C:\Python27\lib\site-packages\scipy\stats\__init__.py", line 320, in <module>
from .stats import *
File "C:\Python27\lib\site-packages\scipy\stats\stats.py", line 241, in <module>
import scipy.special as special
File "C:\Python27\lib\site-packages\scipy\special\__init__.py", line 529, in <module>
from ._ufuncs import *
ImportError: DLL load failed: The specified module could not be found.
安装后:
适用于 Windows x86-64 的 Python 2.7.4 scipy-0.12.0.win-amd64-py2.7.exe(来自here) numpy-unoptimized-1.7.1.win-amd64-py2.7.exe(来自here) scikit-learn-0.13.1.win-amd64-py2.7.exe(来自here)有人知道为什么会发生这种情况以及如何解决吗?
【问题讨论】:
啊,我只是错过了它说你需要 Numpy 的 MKL 静态链接版本的部分......解决了这个问题。 您能否复制此评论作为您自己问题的答案并接受它?这将有助于将此问题标记为已解决。 我希望其他人会回复,所以我可以接受他们的回答,您不能在 2 天内接受自己的回答。 没问题。那就等2天吧:) 【参考方案1】:正如 Christoph Gohlke 在他的下载 page 中提到的那样,可从他的网站下载的 scikit-learn 需要 Numpy-MKL。因此,我使用 Numpy-Unoptimized 犯了一个错误。
他的 Numpy-MKL 的链接静态链接到英特尔的 MKL,因此您不需要任何额外的下载(无需下载英特尔的 MKL)。
【讨论】:
【参考方案2】:这有点晚了,不过对于像我这样的人,从官方下载这些 Microsoft website.
然后重新启动您的解释器/控制台,它应该可以工作了。
【讨论】:
【参考方案3】:当我使用 scipy 0.12 时,这个问题发生在我身上。我改成scipy 0.11后,问题就没有了。
【讨论】:
以上是关于在 Windows 上使用 AMD64 构建的 Scipy 调用 scikit-learn 时出错的主要内容,如果未能解决你的问题,请参考以下文章