我必须在旧版本的scikit learn中实现一个支持向量机分类器。我在scikit learn(0.20.3)上训练的模型似乎不适用于我的项目(0.15.2)所使用的版本,它返回:attributeerror:“svc”对象没有属性“_imp1”。为了解决这个问题,我想安装一个旧版本的scikit learn,以便在该版本上重新训练我的模型。尝试在Windows 10上安装旧版本的Python3.5和3.7的scikit learn时,我一直遇到以下错误:
c:\program files (x86)\python37-32\include\pystate.h(209): note:
参见“t”的声明
sklearn\cluster_dbscan_inner.cpp(5971):错误c239:“exc_type”:不是“ts”的成员
C:\程序文件(x86)\ python37-32\include\pystate.h(209):注意:请参见“ts”的声明
sklearn\cluster_dbscan_inner.cpp(5972):错误c239:“exc_value”:不是“ts”的成员
C:\程序文件(x86)\ python37-32\include\pystate.h(209):注意:请参见“ts”的声明
sklearn\cluster_dbscan_inner.cpp(5973):错误c239:“exc_traceback”:不是“ts”的成员
C:\程序文件(x86)\ python37-32\include\pystate.h(209):注意:请参见“ts”的声明
----------------------------------------
命令“”c:\程序文件(x86)\ python37-32\python.exe“-u-c”导入
设置工具
令牌化;
文件
='C:\users\pat2\appdata\local\temp\pip-install-77bzkmyc\scikit learn\setup.py';f=getattr(标记化,
“打开”,打开)(
文件
);代码=f.read().replace('\r\n',
'\n');f.close();exec(编译(代码,
文件
,'exec'))“安装
--记录C:\users\pat2\appdata\local\temp\pip-record-4hjlpz98\install-record.txt
--单版本外部管理--编译--用户--前缀=“失败,错误代码为1
C:\users\pat2\appdata\local\temp\pip-install-77bzkmyc\scikit学习\
打印出来的日志很长,所以我不确定在这里复制哪一部分。也会打印以下错误,但不会停止安装过程:
错误:命令“C:\程序文件(x86)\ Microsoft Visual
studio\2017\community\vc\tools\msvc\14.15.26726\bin\hostx86\x86\cl.exe
/C/NOLOGO/OX/W3/GL/DNDEBUG/MD公司
-IC:\users\pat2\appdata\roaming\python\python3 7\site packages\numpy\core\include-isklearn\svm\src\libsvm
-IC:\users\pat2\appdata\roaming\python\python37\site packages\numpy\core\include
-I“C:\程序文件(x86)\ python37-32\include”-I“C:\程序文件(x86)\ python37-32\include”-I“C:\程序文件(x86)\ Microsoft Visual
studio\2017\community\vc\tools\msvc\14.15.26726\include“-i”c:\程序
文件(x86\windows kits\10\include\10.0.16299.0\ucrt“-i”c:\程序
文件(x 86)\ Windows工具包\10\include\10.0.16299.0\shared“
-i“c:\程序文件(x86)\ Windows工具包\10\include\10.0.16299.0\um”-i“c:\程序文件(x86)\ Windows工具包\10\include\10.0.16299.0\winrt”-i“c:\程序文件(x86)\ w Windows工具包\10\include\10.0.16299.0\cppwinrt“/tcsklearn\svm\libsvm.c
/fobuild\temp.win32-3.7\release\sklearn\svm\libsvm.obj“失败,原因是
退出状态2
以下消息也经常出现:
在numpy.distutils中没有名为“numpy.distutils.msvccompiler”的模块;
从distutils尝试
到目前为止,我已经尝试过这些事情:
-
安装cython 0.27.3
-
安装图集
-
手动安装scikit learn 0.15.3至setup.py
-
直接从github检索scikit learn 0.15.3
-
重新安装微软VisualStudioC++
-
在我的另一台电脑上试过,结果也是一样
但是这些操作都没有改变安装scikit learn 0.15.3的结果。
编辑:
-
我在尝试安装scikit learn 0.19.0时遇到了同样的问题
-
在第一个错误日志中添加了更多信息