如果你正在使用Linux,那我可以假定你有Linux系统管理经验,我的debian系统里自带python2.x和python3.x的版本。
3.在Windows上安装Python
首先,从Python的官方网站www.python.org下载最新的2.7.12版本,地址是这个:
http://www.python.org/ftp/python/2.7.12/python-2.7.12.msi
然后,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:
特别要注意选上pip
和Add python.exe to Path
,然后一路点“Next”即可完成安装。
默认会安装到C:\Python27
目录下,然后打开命令提示符窗口,敲入python后,会出现两种情况:
情况一:
看到上面的画面,就说明Python安装成功!
你看到提示符>>>
就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()
并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以!)。
情况二:得到一个错误:
‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。
这是因为Windows会根据一个Path
的环境变量设定的路径去查找python.exe
,如果没找到,就会报错。如果在安装时漏掉了勾选Add python.exe to Path
,那就要手动把python.exe
所在的路径C:\Python27
添加到Path中。
如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,记得勾上Add python.exe to Path
。
安装好python2.7后,最好用pip安装这些机器学习包:numpy,scipy,matplotlib,scikit_learn。http://www.lfd.uci.edu/~gohlke/pythonlibs/到这里下各个.whl文件。.whl文件是python的压缩包,可用pip来处理。要用pip8.0以上版本才能进行安装.你可以自行到上面的网址,根据你的python版本和你电脑的bit数来下载相应版本的.whl文件,也可以直接在cmd命令行里用命令进行安装。
例如:pip install numpy 然后回车,就自己安装了。
举个例子,如果安装numpy不成功,这是知乎上看到的一个解决方案,可以试一下。(我的几个机器学习包都直接安装好了,没有遇到类似问题。)
pip install wheel
pip install numpy‑1.9.2+mkl‑cp27‑none‑win_amd64.whl
这篇文章主要讲述Python如何安装Numpy、Scipy、Matlotlib、Scikit-learn等库的过程及遇到的问题解决方法。最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所帮助吧!你可能遇到的问题包括:
ImportError: No module named sklearn 未安装sklearn包
ImportError: DLL load failed: 找不到指定的模块
ImportError: DLL load failed: The specified module could not be found
Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
Numpy Install RuntimeError: Broken toolchain: cannot link a simple C program
ImportError: numpy.core.multiarray failed to import
ImportError: cannot import name __check_build
ImportError: No module named matplotlib.pyplot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
C:\>G:
G:\>cd G:\software\Program software\Python\python insert\Scripts
G:\software\Program software\Python\python insert\Scripts>pip install G:\numpy+s
cipy+matplotlib\numpy-
1.10
.
2
-cp27-none-win_amd64.whl
Processing g:\numpy+scipy+matplotlib\numpy-
1.10
.
2
-cp27-none-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-
1.10
.
2
G:\software\Program software\Python\python insert\Scripts>pip install G:\numpy+s
cipy+matplotlib\matplotlib-
1.5
.
0
-cp27-none-win_amd64.whl
Installing collected packages: matplotlib
Successfully installed matplotlib-
1.5
.
0
G:\software\Program software\Python\python insert\Scripts>pip install G:\numpy+s
cipy+matplotlib\scipy-
0.16
.
1
-cp27-none-win_amd64.whl
Processing g:\numpy+scipy+matplotlib\scipy-
0.16
.
1
-cp27-none-win_amd64.whl
Installing collected packages: scipy
Successfully installed scipy-
0.16
.
1
G:\software\Program software\Python\python insert\Scripts>pip install G:\numpy+s
cipy+matplotlib\scikit_learn-
0.17
-cp27-none-win_amd64.whl
Processing g:\numpy+scipy+matplotlib\scikit_learn-
0.17
-cp27-none-win_amd64.whl
Installing collected packages: scikit-learn
Successfully installed scikit-learn-
0.17
|
第四步:此时配置完成,关键是Python64位版本兼容问题和Scripts目录。最后用北邮论坛一个神人的回复结束这个安装过程:“傻孩子,用套件啊,给你介绍一个Anaconda或winpython。只能帮你到这里了! ”
1
2
3
4
5
6
7
8
|
import
matplotlib
import
numpy
import
scipy
import
matplotlib.pyplot as plt
plt.plot([
1
,
2
,
3
])
plt.ylabel(
'some numbers'
)
plt.show()
|
运行结果:
第二个代码:桃心程序,测试numpy和matplotlib
代码参考:Windows 下 Python easy_install 的安装 - KingsLanding
1
2
3
4
5
6
7
8
9
10
11
12
|
import
numpy as np
import
matplotlib.pyplot as plt
X = np.arange(-
5.0
,
5.0
,
0.1
)
Y = np.arange(-
5.0
,
5.0
,
0.1
)
x, y = np.meshgrid(X, Y)
f =
17
* x **
2
-
16
* np.abs(x) * y +
17
* y **
2
-
225
fig = plt.figure()
cs = plt.contour(x, y, f,
0
, colors =
'r'
)
plt.show()
|
运行结果:
第三个程序:显示Matplotlib强大绘图交互功能
代码参考:Python-Matplotlib安装及简单使用 - bery
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import
numpy as np
import
matplotlib.pyplot as plt
N =
5
menMeans = (
20
,
35
,
30
,
35
,
27
)
menStd = (
2
,
3
,
4
,
1
,
2
)
ind = np.arange(N) # the x locations
for
the groups
width =
0.35
# the width of the bars
fig, ax = plt.subplots()
rects1 = ax.bar(ind, menMeans, width, color=
'r'
, yerr=menStd)
womenMeans = (
25
,
32
,
34
,
20
,
25
)
womenStd = (
3
,
5
,
2
,
3
,
3
)
rects2 = ax.bar(ind+width, womenMeans, width, color=
'y'
, yerr=womenStd)
# add some
ax.set_ylabel(
'Scores'
)
ax.set_title(
'Scores by group and gender'
)
ax.set_xticks(ind+width)
ax.set_xticklabels( (
'G1'
,
'G2'
,
'G3'
,
'G4'
,
'G5'
) )
ax.legend( (rects1[
0
], rects2[
0
]), (
'Men'
,
'Women'
) )
def autolabel(rects):
# attach some text labels
for
rect in rects:
height = rect.get_height()
ax.text(rect.get_x()+rect.get_width()/
2
.,
1.05
*height,
'%d'
%
int
(height),
ha=
'center'
, va=
'bottom'
)
autolabel(rects1)
autolabel(rects2)
plt.show()
|
运行结果:
第四个代码:矩阵数据集,测试sklearn
1
2
3
4
|
from sklearn
import
datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print digits.data
|
运行结果:
第五个代码:计算TF-IDF词语权重,测试scikit-learn数据分析
参考代码:http://blog.csdn.net/liuxuejiang158blog/article/details/31360765
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# coding:utf-
8
__author__ =
"liuxuejiang"
import
jieba
import
jieba.posseg as pseg
import
os
import
sys
from sklearn
import
feature_extraction
from sklearn.feature_extraction.text
import
TfidfTransformer
from sklearn.feature_extraction.text
import
CountVectorizer
if
__name__ ==
"__main__"
:
corpus=[
"我 来到 北京 清华大学"
, #第一类文本切词后的结果 词之间以空格隔开
"他 来到 了 网易 杭研 大厦"
, #第二类文本的切词结果
"小明 硕士 毕业 与 中国 科学院"
, #第三类文本的切词结果
"我 爱 北京 天安门"
] #第四类文本的切词结果
#该类会将文本中的词语转换为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频
vectorizer=CountVectorizer()
#该类会统计每个词语的tf-idf权值
transformer=TfidfTransformer()
#第一个fit_transform是计算tf-idf,第二个fit_transform是将文本转为词频矩阵
tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))
#获取词袋模型中的所有词语
word=vectorizer.get_feature_names()
#将tf-idf矩阵抽取出来,元素a[i][j]表示j词在i类文本中的tf-idf权重
weight=tfidf.toarray()
#打印每类文本的tf-idf词语权重,第一个
for
遍历所有文本,第二个
for
便利某一类文本下的词语权重
for
i in range(len(weight)):
print u
"-------这里输出第"
,i,u
"类文本的词语tf-idf权重------"
for
j in range(len(word)):
print word[j],weight[i][j]
|
运行结果:
1
2
3
4
5
6
7
8
|
* pip install numpy --安装包numpy
* pip uninstall numpy --卸载包numpy
* pip show --files PackageName --查看已安装包
* pip list outdated --查看待更新包信息
* pip install --upgrade numpy --升级包
* pip install -U PackageName --升级包
* pip search PackageName --搜索包
* pip help --显示帮助信息
|
ImportError: numpy.core.multiarray failed to import
python安装numpy时出现的错误,这个通过stackoverflow和百度也是需要python版本与numpy版本一致,解决的方法包括"pip install -U numpy"升级或下载指定版本"pip install numpy==1.8"。但这显然还涉及到更多的包,没有前面的卸载下载安装统一版本的whl靠谱。
Microsoft Visual C++ 9.0 is required(unable to find vcvarsall.bat)
因为Numpy内部矩阵运算是用C语言实现的,所以需要安装编译工具,这和电脑安装的VC++或VS2012有关,解决方法:如果已安装Visual Studio则添加环境变量VS90COMNTOOLS即可,不同的VS版本对应不同的环境变量值:
Visual Studio 2010 (VS10)设置 VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11)设置 VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12)设置 VS90COMNTOOLS=%VS120COMNTOOLS%
但是这并没有解决,另一种方法是下载Micorsoft Visual C++ Compiler for Python 2.7的包。
PS:这些问题基本解决方法使用pip升级、版本一致、重新下载相关版本exe文件再安装。