社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在python 3.7和3.5上安装旧版本scikit learn以实现支持向量机模型兼容性时出现问题

Patrick Nijman • 5 年前 • 1954 次点击  

我必须在旧版本的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的结果。

编辑:

  1. 我在尝试安装scikit learn 0.19.0时遇到了同样的问题

  2. 在第一个错误日志中添加了更多信息

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40886
 
1954 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rubens_Zimbres
Reply   •   1 楼
Rubens_Zimbres    6 年前

尝试:

pip install setuptools --upgrade
pip install numpy --upgrade