python中pylint使用方法(pylint代码检查)
一、Pylint是什么
Pylint是一个Python代码分析工具,它分析Python代码中的错误,查找不符合代码风格标准和有潜在问题的代码。
Pylint是一个Python工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。
Pylint的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。
如果运行两次Pylint,它会同时显示出当前和上次的运行结果,从而可以看出代码质量是否得到了改进。目前在eclipse的pydev插件中也集成了Pylint。
二、Pylint在Linux上的安装
1.在Linux上,首先安装Python的包(高于版本2.2),并在环境变量$PATH中添加Python可执行文件的路径。
2.下载Pylint、logilab-astng(version>=0.14)和logilab-common(version>=0.13)的包,使用tarzxvf*.tar.gz解压缩这些包。
3.依次进入logilab-astng、logilab-common和Pylint解开的文件夹中,运行命令Pythonsetup.pyinstall来安装。
4.安装完成后,就可以通过pylint[options]module_or_package来调用Pylint了。
三、Pylint在Windows上的安装
1.安装Python的包(高于版本2.2),右键单击桌面上的我的电脑图标,选择属性,高级,环境变量,在$PATH中添加Python的安装路径,如C:\Python26\。
2.使用解压缩工具解压缩所有的包。
3.打开命令行窗口,使用cd依次进入logilab-astng、logilab-common和Pylint解开的文件夹中,运行命令pythonsetup.pyinstall来安装。
4.安装完成后,在Python的安装路径下出现一个Scripts文件夹,里面包含一些bat脚本,如pylint.bat等。
5.为了使调用pylint.bat的时候不需要输入完整路径,在Python的安装目录下创建pylint.bat的重定向文件,这是一个纯文本文件pylint.bat,里面包含pylint.bat的实际路径,如:C:\Python26\Scripts\pylint.bat。
6.安装完成后,可以通过pylint[options]module_or_package来调用Pylint了。
四、pylint使用
使用Pylint对一个模块module.py进行代码检查:
1.进入这个模块所在的文件夹,运行
pylint[options]module.py
这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入Python的路径中。
2.不进入模块所在的文件夹,运行
pylint[options]directory/module.py
这种调用方式当如下条件满足的时候是可以工作的:directory是个Python包(比如包含一个__init__.py文件),或者directory被加入了Python的搜索路径中。
使用Pylint对一个包pakage进行代码检查:
1.进入这个包所在文件夹,运行
pylint[options]pakage
这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入Python的路径中。
2.不进入包所在的文件夹,运行
pylint[options]directory/pakage
这种情况下当如下条件满足的时候是可以工作的:directory被加入了Python的路径中。比如在Linux上,exportPYTHONPATH=$PYTHONPATH:directory。
此外,对于安装了tkinter包的机器,可以使用命令pylint-gui打开一个简单的GUI界面,在这里输入模块或者包的名字(规则同命令行),点击Run,Pylint的输出会在GUI中显示。
五、Pylint常用命令行参数
-h,--help:显示所有帮助信息。
--generate-rcfile:可以使用pylint--generate-rcfile来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项,使这些选项的值被包含在这个产生的配置文件里。如:pylint--persistent=n--generate-rcfile>pylint.conf,查看pylint.conf,可以看到persistent=no,而不再是其默认值yes。
--rcfile=:指定一个配置文件。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。
-i,--include-ids= :在输出中包含message的id,然后通过pylint--help-msg= 来查看这个错误的详细信息,这样可以具体地定位错误。
-r,--reports= :默认是y,表示Pylint的输出中除了包含源代码分析部分,也包含报告部分。
--files-output=:将每个module/package的message输出到一个以pylint_module/package.[txt|html]命名的文件中,如果有report的话,输出到名为pylint_global.[txt|html]的文件中。默认是输出到屏幕上不输出到文件里。
-f,--output-format= :设置输出格式。可以选择的格式有text,parseable,colorized,msvs(visualstudio)和html,默认的输出格式是text。
--disable-msg=:禁止指定id的message.比如说输出中包含了W0402这个warning的message,如果不希望它在输出中出现,可以使用--disable-msg=W0402
六、Pylint的输出
Pylint的默认输出格式是原始文本(rawtext)格式,可以通过-f
在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。
源代码分析部分:
对于每一个Python模块,Pylint的结果中首先显示一些"*"字符,后面紧跟模块的名字,然后是一系列的message,message的格式如下:__MESSAGE_TYPE:LINE_NUM:[OBJECT:]MESSAGE__MESSAGE_TYPE有如下几种:
(C)惯例。违反了编码风格标准
(R)重构。写得非常糟糕的代码。
(W)警告。某些Python特定的问题。
(E)错误。很可能是代码中的错误。
(F)致命错误。阻止Pylint进一步运行的错误。
报告部分:
在源代码分析结束后面,会有一系列的报告,每个报告关注于项目的某些方面,如每种类别的message的数目,模块的依赖关系等等。
具体来说,报告中会包含如下的方面:检查的module的个数。对于每个module,错误和警告在其中所占的百分比。
比如有两个moduleA和B,如果一共检查出来4个错误,1个错误是在A中,3个错误是在B中,那么A的错误的百分比是25%,B的错误的百分比是75%。错误,警告的总数量。
python中pylint使用方法
在EclipseIDE下,打开Window->Preferences...对话框,从右侧的树形列表中选择“PyDev”->“InterpreterPython”,点击New按钮,从Python的安装路径下选择Python.exe,然后会弹出一个对话框让你勾选SystemPYTHONPATH,我是都选了,应该无所谓。最后点Ok,退出。
一、进行Django项目的开发配置
1、建立PyDevProject
EclipseIDE——>File——>New——>Other——>Pydev——>选择PydevProject——>起一个项目的名称(例如demo)——>选择路径,如E:/work——>选择适合你的Python版本(我的是2.5)——>将下面的勾去掉,不要建立src文件——>Finish。
2、建立DjangoProject
(1)django-admin.pystartprojectdemo。(貌似不能在命令行直接用django-admin.py,而必须使用C:/Python26/Scripts/django-admin.py,后来才知道要把C:/Python26/Scripts加入Path.)
(2)把生成的Django项目目录拷贝到Eclipse刚刚建立的项目下的目录里。返回刚才的ElicpseIDE——>在PyDevPackage视图中刷新刚新建的项目demo,即可看到Django项目工程。添加、删除文件和目录的操作都可以通过右键菜单来完成。
3、Django项目工程配置
(1)project右键——>属性——>选择PyDev-PYTHONPATH——>addsourcefolder(选择项目文件路径添加到项目代码——>确定。
(2)对Pydev项目进行配置:
选择Pydev的项目名称——>Runas——>OpenRunDialog——>PythonRun——>右键New——>在Main面板中写入项目名称,通过Browse载入项目名称和MainModule,MainModule选择manage.py——>在Augement面板中,arguments中输入runserver--noreload,下面的workingdirectory加入你的basedirectory。
二、进行Django项目的调试配置
跟开发配置差不多,但是添加了两个环境变量,具体操作如下:
(1)project右键——>Debugas——>openDebugdialog。
(2)main窗口中选择manage.py所在的project,MainModule选择manage.py所在文件位置。
(3)arguments中输入runserver--noreload。
(4)Environment中添加DJANGO_SETTINGS_MODULE=settings,PYTHONPATH=$PWD。
三、配置pylint
1、pylint简介
pylint主要用来分析你的PY代码,查找出其中的错误,并给出提示,并且还可以为你提出一些编码风格的提示的一个PYTHON模块。总之,它的作用是使得你的代码更加的接近PEP008(http://www.python.org/dev/peps/pep-0008/)Title: StyleGuideforPythonCode中所描述的代码风格,使你的代码统一并更加可读。
2、下载并安装pylint
pylint, logilab-astng, logilab-common ,安装方式跟安装django的方式都是一样的。也就是直接使用
pythonsetup.pyinstall即可。
3、配置使用pylint
(1)Window->preferences->Pydev->Pylint,选中"Usepylint?",再输入lint.py的地址,例如"C:/Python25/Lib/site-packages/pylint/lint.py"
(2)并在最后编辑框中添加参数,以限制pylint的输出。
--persistent=n--comment=n
--disable-msg=C0103,C0301,W0312,W0511,W0232,E1101
(3)Project->Properties->PyDev-PYTHONPATH增添项目的源文件目录到"ProjectSourceFolders"。
(4)选中Project->BuildAutomatically,这样保存修改时pylint就会自动check项目中的代码,否则就要用Ctrl+B手动build并触发pylint。
参考文档:
http://pydev.org/manual_adv_pylint.html