Eclipse+PyDev.docx
- 文档编号:7184169
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:16
- 大小:306.36KB
Eclipse+PyDev.docx
《Eclipse+PyDev.docx》由会员分享,可在线阅读,更多相关《Eclipse+PyDev.docx(16页珍藏版)》请在冰豆网上搜索。
Eclipse+PyDev
Eclipse+PyDev
一、安装Eclipse
Eclipse下载地址:
http:
//www.eclipse.org/downloads/
目前最新版本eclipse-SDK-3.7.1-win32.zip
将下载的eclipse-SDK-3.7.1-win32.zip压缩包,直接解压到D盘根目录(如:
D:
\Eclipse),安装完毕。
要使用Eclipse,还需要安装JRE(JAVA运行环境)
JRE下载地址:
目前最新版本jre-7u3-windows-i586.exe
双击安装即可。
二、安装PyDev插件
官方地址:
http:
//pydev.org/index.html
下载地址:
两种安装方法:
1、将下载的PyDev解压(目前最新版本PyDev2.4.0.zip压缩包),PyDev解压后一般包含Plugins和Feature文件夹,将PyDev解压后的文件夹拷贝到Eclipse解压后的目录下即可,完成后再启动Eclipse,可以在Eclipse菜单Help->AboutEclipseSDK->InstallationDetail看到PyDev组件的安装。
2、直接在Eclipse中选择菜单:
Help—SoftwareUpdates—FindAndInstall,选择Searchfornewfeaturestointall,点NewRemoteSite按钮,输入http:
//pydev.org/updates,下载并安装。
三、Eclipse+Pydev的配置
在Eclipse菜单Windows->Preferences->PyDev->Interpreterpython配置你要只用的python解析器。
点击New按钮,从Python的安装路径下选择Python.exe
四、Eclipse中运行python
创建项目
在开展工作之前,需要创建一个新的项目。
在Eclipse菜单栏中,选择File>New>Project>Pydev>PydevProject,单击Next。
这时,显示出PydevProject窗口,输入项目名称、选择工作路径、选择Python解释器的版本类型并选中复选框,然后单击Next,进入关联项目的窗口,如果不需要关联其他项目,则可以直接单击Finish,完成项目的创建。
创建Python包和模块
接下来,在刚创建的项目中开始创建Python包和模块。
1.进入Pydev透视图,在PythonPackageExplorer中,右键单击src,选择New->PydevPackage,输入Package名称并单击Finish,Python包就创建好了,此时,自动生成__init__.py文件,该文件不包含任何内容。
注意:
如果在创建项目的时候没有选中“Createdefaultsrcfolderandaddittothepythonpath”复选框,则需要通过File>New>Other>SourceFolder手动创建一个源代码文件夹。
1.创建完PydevPackage后,右键单击创建的包,选择New->PydevModule,输入模块名称,单击Finish。
这样,Python模块就建成了。
编辑源程序
对于源程序的一些基本编辑方法,就不做介绍了。
下面介绍几点Pydev提供的非常实用的编辑功能。
语法错误提示
Python开发者在创建修改程序的过程中,如果能及时发现编辑过程中出现的语法错误,无疑对整个项目开发的质量和进展都是非常重要的。
在Python透视图中,PydevPackageExplorer中列出了项目的源代码,双击其中某一个Python文件,如果该文件包含语法错误,错误会以很醒目的方式展现出来。
如果想把整个项目中所有包含语法错误的文件显示出来,可以从Python透视图自由切换到Java透视图。
在JavaPackage里,一个个醒目的小红叉标记了所有包含语法错误的Python文件。
源代码编辑助手(ContentAssistents)
源代码编辑助手(ContentAssistents,以下简称CA),顾名思义,即用于帮助开发者编辑源程序,它提供了诸多方便实用的功能,引导开发者进行高效快速的项目开发。
通过快捷键Ctrl+1可以激活CA,它支持的功能如下:
PyDev
1.Moveimporttoglobalscope
2.Createdocstring
3.Assignresulttonewlocalvariable(orfield)
4.Assignparameterstoattributes
5.Surroundcodewithtry..exceptortry..finally
PyDevExtensions
1.Makeimportforundefinedtoken
2.Ignoreerror
3.Don'tanalyzemodule
在安装PyDev时,PyDev和PyDevExtensions包都已安装,所以CA的这几大功能现在都支持。
首先,先介绍如何使用PyDev包含的CA功能。
PyDev的CA功能
1.Moveimporttoglobalscope
以如下代码为例,将光标移至importsys后,启动快捷键Ctrl+1激活CA,”Moveimporttoglobalscope”出现在标签中,按Enter应用此功能。
如果不想应用该功能,可以按Esc键取消。
#!
/usr/bin/python–u
sys.path.append(“./VirtualFS”)
importsys
应用该功能后,importsys被成功移至全局范围内,消除了之前的错误。
改变后的代码如下。
#!
/usr/bin/python–u
importsys
sys.path.append(“./VirtualFS”)
1.Createdocstring
Createdocstring功能可以自动为函数添加参数注解。
将光标移至如下代码行,启动快捷键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=a
self.b=b
1.Surroundcodewithtry..exceptortry..finally
对可能产生异常的代码,要进行异常捕获,通常使用try..except或者try..finally语句来捕获异常。
选中一段代码printusage,激活CA的”Surroundcodewithtry..exceptortry..finally”功能,可以自动对printusage进行异常捕获。
importsys
defmethod(self,usage):
try:
printusage
except:
raise
下面,再介绍PyDevExtensions包含的CA功能是如何被运用的。
PyDevExtension的CA功能
1.Makeimportforundefinedtoken
以如下一段代码为例,xmlreader未定义,语法分析出错。
classTest:
defmethod(self):
xmlreader
将鼠标移至出错行,启动快捷键Ctrl+1激活CA,选择标签栏中的”Importxmlreader(xml.sax)”,自动生成一行代码fromxml.saximportxmlreader,语法错误消除。
fromxml.saximportxmlreader
classTest:
defmethod(self):
xmlreader
1.Ignoreerror
仍以上述代码为例,由于xmlreader没有被定义,包含语法错误,在这一行激活CA,选择”UndefinedVariable”,语法错误被忽略,xmlreader后自动生成一行注释标明”#@UndefinedVariable”。
classTest:
defmethod(self):
xmlreader#@UndefinedVariable
1.Don'tanalyzemodule
语法分析器可以帮助显示包含语法错误的代码,但在程序编辑过程中,有时候需要刻意取消对程序的语法分析,CA的Don'tanalyzemodule提供了这样的功能。
将光标移至程序第一行,激活CA,选择”@PydevCodeAnalysisIgnore”,自动生成一行代码”#@PydevCodeAnalysisIgnore”,忽略对程序体的语法分析。
#@PydevCodeAnalysisIgnore
classTest:
defmethod(self):
xmlreader
1.QuickOutline
对特定的Python文件,PydevExtensions提供的QuickOutline能最简单快捷地获取该文件的组织结构,并能在该文件中方便地查询定位所需信息。
在Pydev透视图中,选择Source->ShowQuickOutline,或者使用快捷键Ctrl+O启动该功能。
Python文件的类、函数等组织架构便以树状形式被形象地展现出来。
同时,Filter提供了查询定位的功能,可以方便地查询所需信息并定位到相应的代码段。
GlobalsBrowser
GlobalsBrowser是PydevExtensions提供的另外一种强大的查询定位功能。
它可以查询定位整个工程内的一些定义和属性,包括:
1.
o类定义
o方法定义
o全局变量
o类以及实例属性
通过三种方式可以启动该功能。
∙在Pydev透视图中,从菜单栏中选择Pydev->GlobalsBrowser。
∙在Pydev透视图中,工具栏有如下的一个小图标,鼠标移至该图标上方,显示”Pydev:
GlobalsBrowser”标注。
点击该图标按钮,可以启动GlobalsBrowser功能。
∙通过快捷键Ctrl+Shift+T,可以快速启动GlobalsBrowser功能。
在Filter中输入所要查询的定义、变量或者属性,GlobalsBrowser可以快速地定位到相应的代码段。
图11.GlobalsBrowser
HierarchyView
当某个python文件包含多个类时,如何才能简单直观地了解各个类之间的依存关系?
HierarchyView提供了这样的功能,它能将多个类之间的层次关系以树状结构直观地显示出来。
以一段Python代码为例,定义了Super1,Super2,ToAnalyze和Sub1四个类。
在Pydev透视图中,选择Windows->ShowView->Other,在弹出的ShowView窗口中,选择Pydev->HierarchyView。
按快捷键F4激活HierarchyView,可以看到树状图中显示出了类间的层次关系。
图12.在HierarchyView中显示类的层次关系
HierarchyView还支持以下四个功能:
∙在层次图中,用鼠标单击某个类,图下方即显示出该类的方法。
∙如果双击某个类、方法或者属性,则会调出源程序,进入对该类、方法或者属性的编辑状态。
∙在HierarchyView中,按住鼠标右键,并相左或向右移动鼠标,层次图则会相应地缩小或放大。
∙在HierarchyView中,按住鼠标左键移动鼠标,层次图则会被随意拖动到相应的位置。
运行和调试
运行程序
要运行Python源程序,有两种方法可供选择。
下面以一段代码example.py为例介绍这两种运行方式。
●在PydevPackageExplorer中双击example.py,选择Run->RunAs->PythonRun。
程序example.py立即被运行,在控制台Console里显示出程序的执行结果。
图13.Python程序及运行结果
●在PydevPackageExplorer中,用鼠标右键单击example.py,在弹出的菜单栏中选择RunAs->PythonRun。
同样,example.py被执行,Console中显示程序的执行结果。
以上两种方式是运行源程序的基本方法。
Pydev还提供一种特有的源程序运行功能RunAsPythonCoverage,该功能不仅能显示出程序的运行结果,而且能将程序运行过程中代码的覆盖率显示出来。
要查看代码的覆盖率,首先需要打开CodeCoverageResultsView。
在Pydev透视图中,选择Windows->ShowView->CodeCoverageResultsView。
在弹出视图的左栏中,可以看到三个按钮,”Choosedir!
”,“Clearcoverageinformation!
”和”RefreshCoverageinfomation”。
图14.CodeCoverageResultsView
用鼠标左键单击”Choosedir!
”,在弹出的FolderSelection窗口中选择需要运行的程序所在的包,单击Ok。
这样,这个包中所有的源程序便显示在左栏中。
接下来,仍以example.py为例,看看RunAsPythonCoverage功能展现出的结果。
选择RunAs->PythonCoverage,控制台Console中显示出了程序的运行结果。
切换到刚才打开的CodeCoverageResultsView视图,单击左栏中的example.py。
图15.在CodeCoverageResultsView中显示代码覆盖率
代码运行过程中的覆盖情况很清楚地显示在右栏中。
双击左栏中的example.py,没有覆盖到的代码便在编辑器中以醒目的错误标志被标注出来。
图16.以错误标志显示没有被覆盖到的代码
如果关闭CodeCoverageResultsView视图,代码的覆盖信息并没有丢失,重新打开该视图同样可以显示出这些信息。
只有通过单击左栏的“Clearcoverageinformation!
”按钮,才可以清除程序运行后得到的这些覆盖信息。
调试程序
调试是程序开发过程中必不可少的,熟练掌握调试技能是开发者进行高效开发的前提和基础。
下面仍以example.py为例,介绍如何使用Pydev的调试功能。
调试需从添加断点开始,有三种方式可以设置断点。
∙双击编辑器中标尺栏左边灰白的空白栏,在某行添加断点。
图17.双击标尺栏左边灰白的空白栏添加断点
∙鼠标右键单击标尺栏,在弹出的菜单栏中选择”AddBreakpoint”添加断点。
图18.右键单击标尺栏添加断点
∙将鼠标移至需要添加断点的代码行,使用快捷键Ctrl+F10,在弹出的菜单栏中选择”AddBreakpoint”添加断点。
添加好断点后,选择DebugAs->PythonRun启动调试器,弹出一个对话框,询问是否切换到调试器透视图,单击Yes,即显示调试模式。
图19.调试器透视图
程序调试过程中,常用的几个快捷键如下:
∙单步跳入StepInto:
F5
∙单步跳过StepOver:
F6
∙单步返回StepReturn:
F7
∙重新开始Resume:
F8
在控制台Console中,显示出断点之前代码的执行结果。
如果要查看某个变量的值,以变量a为例,可以手动在控制台中键入一行代码”print‘ais:
’,a”,再连续按两次Enter键,即显示出变量的值。
图20.控制台显示变量值
在调试模式下,要查看表达式的值,选中后单击鼠标右键,选择Watch。
弹出Expression面板,显示出了相应的变量或表达式的值。
图21.Expression面板中显示表达式值
如果想要在满足一定条件下已经添加的断点才有效,可以设置断点的属性。
在编辑器的标尺栏中单击鼠标右键,弹出的菜单栏中选择BreakpointProperties。
在显示的窗口中,选中复选框”EnableCondition”,输入需要满足的条件,单击Ok。
图22.设置断点属性
这样,当重新执行程序调试的时候,只有满足条件的情况下,该断点才有效。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Eclipse PyDev