python成功配置scikit-learn,含试错历程

来源:互联网 发布:java实现行为树 编辑:程序博客网 时间:2024/05/29 18:16

需要的可直接转至成功安装流程

试错历程

本人最近刚看到scikit-learn库,觉得在python中调用用来做些测试之类的非常方便,就开始配置,由于之前装了python2.7,就打算在之前的版本中配置,从网上各个帖子上尝试方法,最后终于提示安装成功,但是在运行import sklearn的时候总是报错。于是就开启了苦逼的python菜鸟学站之路。。。。。

关于各种修补的话,我参考的博文如下:

1、http://blog.csdn.net/weiyidemaomao/article/details/8779728

Windows使用pip安装 Django

2、http://blog.csdn.net/licong_carp/article/details/43487101

Windows下安装pip管理scikit-learn

3、http://blog.csdn.net/m53931422/article/details/42489897

-----------------------------------------------------分割线-----------------------------------------------------------------

感谢以上各位博主的分享,但是,但是,,,,,,,,,,,,,尝试各种方法修补,还是运行不对不对,最后破釜沉舟,把所有的都卸载了重装。下面就把重新安装的过程记录一下,以方便有人也出现我之前困扰的盆友参考。

这次采用安装最新版的python3.5.1

关于python的基础安装可参考博客

http://www.tuicool.com/articles/eiM3Er3

按照文中的步骤,是可以成功安装python的(照此法我试过,朋友也试过)。成功安装python之后,再开始进一步的配置。

1.              关于numpy的安装,直接在cmdpip install numpy,即可成功安装numpy

 

2.              接下来pip install Djangan安装成功,这些都可以在Python3.5.1 Shell中测试是否成功。


3.              安装scikit-learn


耶!提示成功。赶紧你去测试一下是否能正确调用。


悲催。。。。。。。。。ImportError: No module named ‘scipy’。需要先安装scipy

4.              安装scipy。直接pip install scipy会报错,如下图所示。



分析错误原因,三cipy包包含有C代码,安装时需要根据所使用的操作系统进行编译,因此不同的操作系统的安装方式是不同的。下面将介绍在windows操作系统中,如何安装scipy包:

1)       在网页中 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy 下载对应操作系统的预编译安装包,需要根据python版本是2.x还是3.x,系统是32位还是64位进行选择


这里我下载的是scipy-0.17.0-cp35-none-win32.whl,并把下载好后的这个文件放到python安装目录下的Scipts文件夹下,我的本机的话就是F:\Python35\Scripts目录下。

2)       使用pip包管理器进行安装,在cmd中先进到存放scipy-0.17.0-cp35-none-win32.whl文件的目录中,输入

pipinstall 下载scipy安装包的路径(切记,一定要输入文件名啊,我可是又栽在这里了啊,又犯错一次,如下,请绕坑)


正确的为:

 

这时候终于把numpy和scipy都安装成功了,终于可以进行scikit-learn的安装了。

5.                      安装scikit-learn.


在编译器中运行importsklearn还是显示失败。


报错:ImportErrorDll load failed:找不到指定的模块,说明还是pip安装的不成功,那就直接去下载scikit-learn的安装包,手动安装试试。从以下网站下载

http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy


这里由于版本需要对应一致,我下载的是

scikit_learn-0.17.1-cp35-cp35m-win32.whl。把下载好后的这个文件放到python安装目录下的Scipts文件夹下,我的本机的话就是F:\Python35\Scripts目录下

在cmd中安装如下:


在编译器中import sklearn,再次失败

>>>import sklearn

Traceback(most recent call last):

  File "<pyshell#3>", line 1,in <module>

    import sklearn

  File"F:\Python35\lib\site-packages\sklearn\__init__.py", line 57, in<module>

    from .base import clone

  File"F:\Python35\lib\site-packages\sklearn\base.py", line 9, in<module>

    from scipy import sparse

  File"F:\Python35\lib\site-packages\scipy\sparse\__init__.py", line 214,in <module>

    from .csr import *

  File"F:\Python35\lib\site-packages\scipy\sparse\csr.py", line 13, in<module>

    from ._sparsetools import csr_tocsc,csr_tobsr, csr_count_blocks, \

ImportError:DLL load failed: 找不到指定的模块。

 

再次查找原因,看到Scikit-learn integratesclassic machine learning algorithms.  Requires numpy+mkl.


下载


安装numpy-1.10.4+mkl-cp35-cp35m-win32.whl后会有冲突

 

 

终于搞定了,用numpy-MKL替换numpy,,,,,,,结果还是不对滴。。。。。

此时import sklearn运行不对也就算了,纳尼from scipyimport linalg也会报错:

Traceback (most recent call last):  File "<stdin>", line 1, in <module>AttributeError: 'module' object has no attribute 'linalg'

。。。。。。。。。实在是受不鸟咯。。。搜索下有的网友说是scipy的版本可能不支持最新的python3.5.1,,于是决定完全重新安装python2.7.11。有了之前的各种试错经验,这次一步步很小心的按照步骤依次安装


正确安装流程


依次下载如下所需文件

1、安装PYTHON2.7.11
2、安装pip-8.1.1
3、安装numpy (pip install numpy-1.10.4+mkl-cp27-cp27m-win32.whl)
4、安装scipy(pip install scipy-0.17.0-cp27-none-win32.whl)
5、安装matplotlib (pip install matplotlib-1.5.1-cp27-none-win32.whl)
6、安装scikit-learn (pip install scikit_learn-0.17.1-cp27-cp27m-win32.whl)

经过这两天的试错,经历了各种头大,感觉现在已经把各种流程都通下来了,再安装其他python相关的包库应该都不成问题啦


0 0