eclipse+pydev安装和配置【IBM】PyDevforEclipse简介级别:初级郑伟芳(zhengwf@cn.ibm.com),软件工程师,IBM2008年11月27日PyDev安装和配置安装PyDev在安装PyDev之前,要保证您已经安装了Java1.4或更高版本、Eclipse以及Python。接下来,开始安装PyDev插件。1.启动Eclipse,利用EclipseUpdateManager安装PyDev。在Eclipse菜单栏中找到Help栏,选择HelpSoftwareUpdatesFindandInstall。1.选择Searchfornewfeaturesforinstall,然后单击Next。在显示的窗口中,选择newremotesite。此时,会弹出一个对话框,要求输入新的更新站点的名称和链接。这里,名称项输入PyDev,当然,您也可以输入其他的名称;链接里输入,也可以填。然后,单击Ok。图1.新的更新站点1.这样,一个新的PyDev的站点就建好了,选择该站点,然后Finish。接下来,Eclipse的UpdateManager将会在刚才输入的站点中搜索安装包,选中搜索出的结果PyDev,并单击Next。图2.安装Pydev1.阅读许可证条款,如果接受,则可单击Next。进入安装路径选择界面,使用默认设置,然后Finish。1.EclipseUpdateManager将下载PyDev,您可以从Eclipse任务栏中看到下载的进度。下载完后,显示一个需要您确认是否安装的界面,单击InstallAll便开始安装了。安装完后,需要重启Eclipse使安装生效。验证是否成功安装PyDev如何才能验证EclipseUpdateManager是否已经成功安装了所需的PyDev插件了呢?选择Help-AboutEclipseSDK-Plug-inDetails,将会出现AboutEclipseSDKPlug-ins窗口,该窗口里列出了所有已经安装了的Eclipse插件。检查一下在Plug-inId一栏中是否至少有五个以上分别以com.python.pydev和org.python.pydev开头的插件。如果是,那么PyDev已经被成功安装,否则,安装出了一些问题,需要根据具体问题来做具体的分析。图3.验证PyDev插件配置PyDev安装好PyDev之后,需要配置Python/Jython解释器,配置过程很简单。在Eclipse菜单栏中,选择WindowPreferencesPydevInterpreter-(Python/Jython),在这里配置Python/Jython解释器,下面以Python为例介绍如何配置。首先需要添加已安装的解释器。这里,Python安装在C:\Python25路径下。单击New,选择Python解释器python.exe,打开后显示出一个包含很多复选框的窗口,选择需要加入系统PYTHONPATH的路径,单击Ok。图4.配置PyDev接下来,检查一下配置的结果是否正确。在SystemPYTHONPATH里,检查是否包含配置过程中加入的那些路径。这里列出了所有的系统所需的库文件夹。另外,在Forcedbuiltinlibs里,列出了Python的内置库。对于Python而言,这样的内置库大约有50个,而对于Jython来说,则有30个左右。这样,Python解释器就配置好了。在开展工作之前,需要创建一个新的项目。在Eclipse菜单栏中,选择FileNewProjectPydevPydevProject,单击Next。回页首图5.创建Pydev项目这时,显示出PydevProject窗口,输入项目名称、选择工作路径、选择Python解释器的版本类型并选中复选框,然后单击Next,进入关联项目的窗口,如果不需要关联其他项目,则可以直接单击Finish,完成项目的创建。创建Python包和模块接下来,在刚创建的项目中开始创建Python包和模块。1.进入Pydev透视图,在PythonPackageExplorer中,右键单击src,选择New-PydevPackage,输入Package名称并单击Finish,Python包就创建好了,此时,自动生成__init__.py文件,该文件不包含任何内容。注意:如果在创建项目的时候没有选中“Createdefaultsrcfolderandaddittothepythonpath”复选框,则需要通过FileNewOtherSourceFolder手动创建一个源代码文件夹。1.创建完PydevPackage后,右键单击创建的包,选择New-PydevModule,输入模块名称,单击Finish。这样,Python模块就建成了。编辑源程序对于源程序的一些基本编辑方法,就不做介绍了。下面介绍几点Pydev提供的非常实用的编辑功能。1.语法错误提示Python开发者在创建修改程序的过程中,如果能及时发现编辑过程中出现的语法错误,无疑对整个项目开发的质量和进展都是非常重要的。在Python透视图中,PydevPackageExplorer中列出了项目的源代码,双击其中某一个Python文件,如果该文件包含语法错误,错误会以很醒目的方式展现出来。图6.Pydev文件语法错误提示如果想把整个项目中所有包含语法错误的文件显示出来,可以从Python透视图自由切换到Java透视图。在JavaPackage里,一个个醒目的小红叉标记了所有包含语法错误的Python文件。图7.Pydev项目语法错误提示1.源代码编辑助手(ContentAssistents)源代码编辑助手(ContentAssistents,以下简称CA),顾名思义,即用于帮助开发者编辑源程序,它提供了诸多方便实用的功能,引导开发者进行高效快速的项目开发。通过快捷键Ctrl+1可以激活CA,它支持的功能如下:PyDev1.Moveimporttoglobalscope2.Createdocstring3.Assignresulttonewlocalvariable(orfield)4.Assignparameterstoattributes5.Surroundcodewithtry..exceptortry..finallyPyDevExtensions1.Makeimportforundefinedtoken2.Ignoreerror3.Don'tanalyzemodule在安装PyDev时,PyDev和PyDevExtensions包都已安装,所以CA的这几大功能现在都支持。首先,先介绍如何使用PyDev包含的CA功能。PyDev的CA功能1.Moveimporttoglobalscope以如下代码为例,将光标移至importsys后,启动快捷键Ctrl+1激活CA,”Moveimporttoglobalscope”出现在标签中,按Enter应用此功能。如果不想应用该功能,可以按Esc键取消。#!/usr/bin/python–usys.path.append(“./VirtualFS”)importsys应用该功能后,importsys被成功移至全局范围内,消除了之前的错误。改变后的代码如下。#!/usr/bin/python–uimportsyssys.path.append(“./VirtualFS”)1.CreatedocstringCreatedocstring功能可以自动为函数添加参数注解。将光标移至如下代码行,启动快捷键Ctrl+1激活CA,标签栏中出现”Makedocstring”。def__init__(self,dbUser,dbPswd,dbHost):按Enter应用该功能后,自动为该函数添加了参数注解。def__init__(self,dbUser,dbPswd,dbHost):'''@paramvirtualOperator:@paramdatabase:@paramhostname:@paramworkDir:'''1.Assignresulttonewlocalvariable(orfield)CA还提供一种功能能够将函数返回结果赋给新的内部变量。以函数callMethod为例,将光标移至a.callMethod()行激活CA。defmethod(self,a):a.callMethod()选择”Assigntofield(self,callMethod)”或者”Assigntolocal(callMethod)”,可以将a.callMethod()结果赋给新的内部变量self.callMethod,改变后的代码如下。defmethod(self,a):self.callMethod=a.callMethod()1.Assignparameterstoattributes在程序编辑过程中,如果需要把函数参数赋给变量,可以使用CA的Assignparameterstoattributes功能自动完成这样的需求。将光标移至函数m1所在行,激活CA。classFoo(object):Defm1(self,a,b):在标签栏中选择”Assignparameterstoattributes”,自动生成两行代码将参数a,b赋给同名变量。classFoo(object):defm1(self,a,b):self.a=aself.b=b1.Surroundcodewithtry..exceptortry..finally对可能产生异常的代码,要进行异常捕获,通常使用try..except或者try..finally语句来捕获异常。选中一段代码printusage,激活CA的”Surroundcodewithtry..exceptortry..finally”功能,可以自动对printusage进行异常捕获。importsysdefmethod(self,usage):try:printusageexcept:raise下面,再介绍PyDevExtensions包含的CA功能是如何被运用的。PyDevExtension的CA功能1.Makeimportforundefinedtoken以如下一段代码为例,xmlreader未定义,语法分析出错。classTest:defmethod(self):xmlreader将鼠标移至出错行,启动快捷键Ctrl+1激活CA,选择标签栏中的”Importxmlreader(xml.sax)”,自动生成一行代码fromxml.saximportxmlreader,语法错误消除。fromxml.saximportxmlreaderclassTest:defmethod(self):xmlreader1.Ignoreerror仍以上述代码为例,由于xmlreader没有被定义,包含语法错误,在这一行激活CA,选择”UndefinedVariable”,语法错误被忽略,xmlreader后自动生成一行注释标明”#@UndefinedVariable”。classTest:defmethod(self):xmlreader#@UndefinedVariable1.Don'tanalyzemodule语法分析器可以帮助显示包含语法错误的代码,但在程序编辑过程中,有时候需要刻意取消对程序的语法分析,CA的Don'tanalyzemodule提供了这样的功能。将光标移至程序第一行,激活CA,选择”@PydevCodeAnalysisIgnore”,自动生成一行代码”#@PydevCodeAnalysisIgnore”,忽略对程序体的语法分析。#@PydevCodeAnalysisIgnoreclassTest:defmethod(self):xmlreader1.Quic