最近在学习Spark的机器学习,由于在机器学习方面Python语言表现不俗,故我选择使用Python语言作为Spark机器学习的开发语言,也为后续的深度学习打下基础,故下面是在windows8.1下搭建eclipse4.4.2+Python2.7.14+Spark2.1.0的开发环境,具体过程如下:

1.  windows下安装Python

1.1.  下载Python

到下面这个地址下载对应操作系统的Python安装文件

https://www.python.org/downloads/release/python-2714/

1abb8946039c15a2a88fca62739a9ca1.png-wh_

我是windows8.1 64位,故下载Windows x86-64 MSI installer版本的安装文件。

1.2.  安装Python

1)、双击bc83aa3b7fc844a9f7e26be8b3427d4d.png-wh_

2)、在弹出的界面选择安装到当前用户即可,然后点击Next下一步;

fcb32d18253bf1eb3c70fe6d37157685.png-wh_

3)、选择安装的路径,我这里选择安装到D:\Python27\,然后点击Next下一步;

f84535ccf580fb8218d6eef4c6b56774.png-wh_

4)、这一步直接点击Next下一步,然后等待安装完成;

23bd560ae78fe16de9591416e6bf44fa.png-wh_

5)、出现如下界面,表示安装完成,直接点击Finsh完成。

2a4985383f4b6fd44291b0d0f8e5c785.png-wh_

1.3.  环境变量配置

1.3.1.  第一种方式

在环境变量中添加Python目录:

在命令提示框中(cmd) : 输入 

path=%path%;D:\Python27

按下"Enter"

注意: D:\Python27 Python的安装目录。

1.3.2.  第二种方式

也可以通过以下方式设置:

·        右键点击"计算机",然后点击"属性"

·        然后点击"高级系统设置"

·        选择"系统变量"窗口下面的"Path",双击即可!

·        然后在"Path"行,添加python安装路径即可(我的D:\Python27),所以在后面,添加该路径即可。 ps:记住,路径直接用分号""隔开!

如下图:

545908604397cd343e9f1fd582951b3a.png-wh_

·        最后设置成功以后重启电脑,重启电脑完成之后在cmd命令行,输入命令"python",就可以看到如下图的相关信息显示,表示python安装成功。

b2053e3fecd7d72fdfc7c79e05af5947.png-wh_

1.3.3.  Python 环境变量

下面几个重要的环境变量,它应用于Python

变量名

描述

PYTHONPATH

PYTHONPATHPython搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。

PYTHONSTARTUP

Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。

PYTHONCASEOK

加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写.

PYTHONHOME

另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUPPYTHONPATH目录中,使得两个模块库更容易切换。

 

2.  windows下安装Eclipse

该步骤简单,省略,我的Eclipse版本为4.4.2

注意:安装Eclipse之前需要安装JDK

3.  Eclipse安装并配置PvDev插件

3.1.  安装PvDev插件

1)、启动Eclipse, 点击Help->InstallNew Software...   在弹出的对话框中,点Add按钮。  Name中填:pydev,  Location中填https://dl.bintray.com/fabioz/pydev/5.2.0因我的Eclipse4.4.2故安装对应5.2.0版本的插件,如果是最新的Eclipse,直接使用http://pydev.org/updates),然后一步一步装下去。  如果装的过程中,报错了就重新装。

1f56da8e9b1a4845b6d4c8df9750e1e2.png-wh_

 

2)、下面这步只选择PyDev节点下的所有,然后点击Next下一步;

2abb9e56c0a9ace3433e624d7ba762ee.png-wh_

3)、这一步直接点击Next下一步;

264ed10ad6d7fa220b3a51698cf7dd14.png-wh_

4)、这一步选择接受Iaccept……,然后点击Next下一步,然后等待插件安装完成并重启Eclipse

4ebea3ac4289e85dcfd8e00cb9c3d7b2.png-wh_

3.2.  配置PvDev插件

安装好pydev后, 需要配置Python解释器。

1)、在Eclipse菜单栏中,点击Windows->Preferences.   

2)、在对话框中,点击PyDev->Interpreters– Python Interpreter.  点击New按钮,选择python.exe的路径,然后点击OK,弹出下一步的窗口;

6fed8b336761d55800689cb0515327c7.png-wh_

3)、在弹出一个包含很多复选框新的窗口,点OK之后出现下一步的窗口。

20ae932f67f8db9d26eb68b0a5833a76.png-wh_

         4)、点击该窗口的OK则完成插件的配置。

f07b572172745a3f3fcd817666b08995.png-wh_

4.  开发代码测试Python环境搭建情况

1)、启动Eclipse,创建一个新的项目,File->New->Projects...选择PyDev->PyDevProject 输入项目名称,如下图:

b4e64369bd0e610ee8b919b32240efc2.png-wh_

2)、新建 PyDevPackage,输入包名Test1

1c8965ae12820ad6b2df3394af3290e0.png-wh_

3)、在__init__.py文件中编写代码,然后运行,正常在控制台输出,表示开发环境搭建完成。

e6ea3ca53928dd56fb19d9d44bdf4014.png-wh_

5.  使用Python开发Spark环境配置

5.1.  下载解压spark安装包

可以从http://spark.apache.org/downloads.html上下载对应的版本,我用的版本是spark-2.1.0-bin-hadoop2.7.tgz,下载完压缩文件后,解压。我解压到F:\BigData\Spark\spark-2.1.0-bin-hadoop2.7

5.2.  配置spark环境变量

1)、新建SPARK_HOME变量,变量值为:F:\BigData\Spark\spark-2.1.0-bin-hadoop2.7,同时将%SPARK_HOME%\bin添加到系统Path变量,然后重启电脑;

0fb7582912e1e3b2c18355cb947ca3b8.png-wh_

0fbee690f2ea9a80809be6450d6d707d.png-wh_

5.3.  Python配置

spark目录下的pyspark文件夹(F:\BigData\Spark\spark-2.1.0-bin-hadoop2.7\python\pyspark)复制到python安装目录D:\Python27\Lib\site-packages里,然后在cmd命令行窗口执行pyspark命令出现如下图则表示安装成功:

526d1bb05f80d77fa8189d3e124c8ca5.png-wh_

6.  使用Python开发spark常见问题

6.1.  ImportError: No module named py4j.protocol

原因:运行python代码的时候报如题的错误信息,表示Python没有安装py4j模块

解决方案:cmd命令行下运行cd D:\Python27\Scripts(我的python安装在D:\Python27\盘,这里是切换到pip的安装目录下,然后才能执行pip,没有装pip的需要预先安装),然后运行pipinstall py4j安装相关库,如下截图表示安装成功。

e6364a0ba0ff192c7d0fb21721afa157.png-wh_

6.2.  ImportError: No module named numpy

原因:运行python代码的时候报如题的错误信息,表示Python没有安装numpy模块

解决方案:cmd命令行下运行cd D:\Python27\Scripts(我的python安装在D:\Python27\盘,这里是切换到pip的安装目录下,然后才能执行pip,没有装pip的需要预先安装),然后运行pipinstall numpy安装相关库,如下截图表示安装成功。

4f6733e73a3aab1d238006b6473a1afd.png-wh_