python安装scikit-learn遇到问题汇总

python开源工具包:scikit-learn 是关于机器学习的开发包,主页:http://scikit-learn.org/stable/index.html

这个包把经典的机器学习算法都利用python进行了实现,是学习机器学习很好理论与实践结合材料,但是在安装scikit-learn 出现各种奇怪问题,这里做一个总结。

为了方便以后python各类工具包安装,可以先安装python easy_install

下载安装python安装工具
下载地址:http://pypi.python.org/pypi/setuptools 可以找到正确的版本进行下载。win7 32位可以下载setuptools-0.6c11.win32-py2.7.exe 。

我安装在:D:\pytho27\Scripts 下,可以个这个路径配置path ,这样方便cmd 中直接调用 ,类似下图:

检验是否安装成功如下图:

安装了easy_install 之后安装python的库就很简单了,以后需要安装python的库的话则直接在命令行使用

easy_install + python库的名字 如:easy_install numpy

scikit-learn需要以下包或者工具:

  • Python (>= 2.6 or >= 3.3),
  • NumPy (>= 1.6.1),
  • SciPy (>= 0.9).

但是我在安装后发现出现了一下几种错误:

I
cannot import datetime from a python script,

ValueError:
numpy.ufunc has the wrong size, try recompiling

ImportError: cannot import name check_build

后面看到http://stackoverflow.com/questions/17709641/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling

Numpy developers follow in general a policy of keeping a backward compatible binary interface (ABI). However, the ABI is not forward compatible.

What that means:

A package, that uses numpy in a compiled extension, is compiled against a specific version of numpy. Future version of numpy will be compatible with the compiled extension of the package (for exception see below). Distributers of those other packages do not
need to recompile their package against a newer versions of numpy and users do not need to update these other packages, when users update to a newer version of numpy.

However, this does not go in the other direction. If a package is compiled against a specific numpy version, say 1.7, then there is no guarantee that the binaries of that package will work with older numpy versions, say 1.6, and very often or most of the time
they will not.

The binary distribution of packages like pandas and statsmodels, that are compiled against a recent version of numpy, will not work when an older version of numpy is installed. Some packages, for example matplotlib, if I remember correctly, compile their extensions
against the oldest numpy version that they support. In this case, users with the same old or any more recent version of numpy can use those binaries.

The error message in the question is a typical result of binary incompatibilities.

The solution is to get a binary compatible version, either by updating numpy to at least the version against which pandas or statsmodels were compiled, or to recompile pandas and statsmodels against the older version of numpy that is already installed.

Breaking the ABI backward compatibility:

Sometimes improvements or refactorings in numpy break ABI backward compatibility. This happened (unintentionally) with numpy 1.4.0. As a consequence, users that updated numpy to 1.4.0, had binary incompatibilities with all other compiled packages, that were
compiled against a previous version of numpy. This requires that all packages with binary extensions that use numpy have to be recompiled to work with the ABI incompatible version.

大意就是我的numpy版本和scikit-learn版本不搭配,然后我卸载了numpy ,从numpy1.6 一直尝试到1.8 发现1.8安装后冲突消失。真让人蛋疼安装,推荐大家直接用集成的环境如:WinPython 之类的简单配置环境,工具帮你匹配好各种包。

Windows下的安装过程简便安装

巨硬公司真是人类的希望。在Windows下安装scikit只需要安装一个“十全大补包”(Cocoa命名)即可完成所有依赖库的安装。具体过程如下:

  1. 安装Python2.7.6:下载地址,如果没什么要求的话Python2就可以了。不过要注意有64位32位的区别。
  2. 安装十全大补包:下载地址,包含了所有scikit所需的库,并且有分别对应Python2、Python3以及64位、32位的版本,实在是太方便了。
  3. 安装scikit:下载地址
  4. 打完收工

时间: 2024-10-11 19:10:20

python安装scikit-learn遇到问题汇总的相关文章

python 安装scikit!!!

首先,吐槽一下,真的是折腾好几天,一会更新这个,一会更新那个,总是各种奇葩问题诸如此类: cannot import check-build pip有新版本,需要更新(黄字) 其中scipy出错最多,但是还是可安装的 找不到指定模块 no model XXX 诸如此类,各种更新就是不行 但是下边的这个文章真的是帮了大忙.........本身比较懒惰,不想全部卸载后在更新,所以一直各种问题,看了下边的文章,非常有用,当然有些人的可能真的只是scipy不兼容,那你更新一下就好了,要是还不行,你就全删

Python之扩展包安装(scikit learn)

scikit learn 是Python下开源的机器学习包.(安装环境:win7.0 32bit和Python2.7) Python安装第三方扩展包较为方便的方法:easy_install + packages name 在官网 https://pypi.python.org/pypi/setuptools/#windows-simplified 下载名字为 的文件. 在命令行窗口运行 ,安装后,可在python2.7文件夹下生成Scripts文件夹.把路径D:\Python27\Scripts

Python下opencv库的安装过程与一些问题汇总

本文主要内容是python下opencv库的安装过程,涉及我在安装时遇到的问题,并且,将从网上搜集并试用的一些解决方案进行了简单的汇总,记录下来. 由于记录的是我第一次安装opencv库的过程,所以内容涵盖可能不全面,如果有出错的地方请务必指正.下面进入主题. 关于python的下载安装不再赘述,python的版本号是我们在opencv库的安装过程中需要用到的,cmd运行python可以进行查看. 通常,我们使用pip命令来安装扩展库. 打开cmd运行 pip install opencv-py

Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的垂直搜索引擎,专门为用户提供团购.优惠券的检索:同时存在一个通用的搜索引擎,比如百度,通用搜索引擎希望能够识别出一个Query是否具有O2O检索意图,如果有则调用O2O垂直搜索引擎,获取结果作为通用搜索引擎的结果补充. 我们的目的是学习出一个分类器(classifier),分类器可以理解为一个函数,

网络爬虫(蜘蛛)Scrapy,Python安装!

Scrapy,Python安装,使用! 1.下载安装Python2.7.6,因为Scrapy还不支持3.x版本.Latest Python 2 Release - Python 2.7.6,安装时选择当前用户. 2.到http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/下载安装pywin32-219.win-amd64-py2.7.exe 3.将C:\python27\Scripts;C:\python27;添加到环

Python入门到精通资料大汇总,不啰嗦,全是珍藏资料!速度收藏

今天闲来无事,把手里积累了这么久的Python入门资料整理了一下,发现其实,有了这些,python入门真的不难,每天花点时间学,真的不会影响工作.下面一起来看看这些资料吧! Python编程女匠入门资料列表目录: Python入门书籍资料展示 Python进阶书籍资料展示 Python***技术资料展示Python入门案例项目讲解视频展示Python入门实操小游戏展示从零开始到Python web进阶方向的学习资料展示 从零开始到Python 爬虫进阶方向的学习资料展示 从零开始到Python

python安装sqlite3模块

Python安装sqlite3 环境为Ubuntu16.04 Apache2.4 Python2.7.13 django 1.8 今天部署apache+django,经过各种折腾,好不容易配置完了,发现错误Apache的日志里有一项 ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 于是打开Python 测试

windows下python安装scrapy碰到的坑

1,提示没有找到vcvarsall.bat文件 确保安装了vs.我这边是win10系统,安装了vs2015,安装的时候要注意,自定义安装项,勾选上"编程语言"里面的库文件和python库支持 2,提示openssl的某个.h文件找不到 去openssl官网下载源码包,解压,把"openssl"整个目录扔到你的python安装目录的include里 3,提示lxml的某些文件找不到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#

python安装

python 源码安装过程及相关问题解决 setuptools 是python的包管理工具,可以方便创建和发布 Python 包.主要应用 easy_install 命令 安装.升级.卸载包(easy_install通过调用setuptools完成模块安装等工作). pip 是一个安装和管理python包的工具,是easy_install改进版(旧版本python只有easy_install). 一.python安装: 下载安装包:https://www.python.org/downloads