需要的可直接转至成功安装流程
试错历程
本人最近刚看到scikit-learn库,觉得在python中调用用来做些测试之类的非常方便,就开始配置,由于之前装了python2.7,就打算在之前的版本中配置,从网上各个帖子上尝试方法,最后终于提示安装成功,但是在运行import sklearn的时候总是报错。于是就开启了苦逼的python菜鸟学站之路。。。。。
关于各种修补的话,我参考的博文如下:
1、http://blog.csdn.net/weiyidemaomao/article/details/8779728
2、http://blog.csdn.net/licong_carp/article/details/43487101
3、http://blog.csdn.net/m53931422/article/details/42489897
-----------------------------------------------------分割线-----------------------------------------------------------------
感谢以上各位博主的分享,但是,但是,,,,,,,,,,,,,尝试各种方法修补,还是运行不对不对,最后破釜沉舟,把所有的都卸载了重装。下面就把重新安装的过程记录一下,以方便有人也出现我之前困扰的盆友参考。
这次采用安装最新版的python3.5.1
关于python的基础安装可参考博客
http://www.tuicool.com/articles/eiM3Er3
python下载地址:https://www.python.org/downloads/
pip下载地址:https://pypi.python.org/pypi/pip#downloads
按照文中的步骤,是可以成功安装python的(照此法我试过,朋友也试过)。成功安装python之后,再开始进一步的配置。
1. 关于numpy的安装,直接在cmd中pip 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还是显示失败。
报错:ImportError:Dll 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。有了之前的各种试错经验,这次一步步很小心的按照步骤依次安装