溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在python中使用pylint

發(fā)布時(shí)間:2021-03-29 15:39:53 來(lái)源:億速云 閱讀:253 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)如何在python中使用pylint,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

一、Pylint 是什么

Pylint 是一個(gè) Python 代碼分析工具,它分析 Python 代碼中的錯(cuò)誤,查找不符合代碼風(fēng)格標(biāo)準(zhǔn)和有潛在問(wèn)題的代碼。
Pylint 是一個(gè) Python 工具,除了平常代碼分析工具的作用之外,它提供了更多的功能:如檢查一行代碼的長(zhǎng)度,變量名是否符合命名標(biāo)準(zhǔn),一個(gè)聲明過(guò)的接口是否被真正實(shí)現(xiàn)等等。
Pylint 的一個(gè)很大的好處是它的高可配置性,高可定制性,并且可以很容易寫(xiě)小插件來(lái)添加功能。

如果運(yùn)行兩次 Pylint,它會(huì)同時(shí)顯示出當(dāng)前和上次的運(yùn)行結(jié)果,從而可以看出代碼質(zhì)量是否得到了改進(jìn)。 目前在 eclipse 的 pydev 插件中也集成了 Pylint。

二、Pylint 在 Linux 上的安裝

1. 在 Linux 上,首先安裝 Python 的包(高于版本 2.2),并在環(huán)境變量 $PATH 中添加 Python 可執(zhí)行文件的路徑。
2. 下載 Pylint、logilab-astng (version >= 0.14) 和 logilab-common (version >= 0.13) 的包 , 使用 tar zxvf *.tar.gz解壓縮這些包。
3. 依次進(jìn)入 logilab-astng、logilab-common 和 Pylint 解開(kāi)的文件夾中,運(yùn)行命令 Python setup.py install來(lái)安裝。
4. 安裝完成后,就可以通過(guò) pylint [options] module_or_package來(lái)調(diào)用 Pylint 了。

三、 Pylint 在 Windows 上的安裝

1. 安裝 Python 的包(高于版本 2.2),右鍵單擊桌面上的我的電腦圖標(biāo),選擇屬性,高級(jí),環(huán)境變量,在 $PATH 中添加 Python 的安裝路徑,如 C:\Python26\。
2. 使用解壓縮工具解壓縮所有的包。
3. 打開(kāi)命令行窗口,使用 cd依次進(jìn)入 logilab-astng、logilab-common 和 Pylint 解開(kāi)的文件夾中,運(yùn)行命令 python setup.py install來(lái)安裝。
4. 安裝完成后,在 Python 的安裝路徑下出現(xiàn)一個(gè) Scripts 文件夾,里面包含一些 bat 腳本,如 pylint.bat 等。
5. 為了使調(diào)用 pylint.bat 的時(shí)候不需要輸入完整路徑,在 Python 的安裝目錄下創(chuàng)建 pylint.bat 的重定向文件,這是一個(gè)純文本文件 pylint.bat,里面包含 pylint.bat 的實(shí)際路徑,如:C:\Python26\Scripts\pylint.bat。
6. 安裝完成后,可以通過(guò) pylint [options] module_or_package來(lái)調(diào)用 Pylint 了。

四、 pylint使用

使用 Pylint 對(duì)一個(gè)模塊 module.py 進(jìn)行代碼檢查:

1. 進(jìn)入這個(gè)模塊所在的文件夾,運(yùn)行

pylint [options] module.py

這種調(diào)用方式是一直可以工作的,因?yàn)楫?dāng)前的工作目錄會(huì)被自動(dòng)加入 Python 的路徑中。

2. 不進(jìn)入模塊所在的文件夾,運(yùn)行

pylint [options] directory/module.py

這種調(diào)用方式當(dāng)如下條件滿足的時(shí)候是可以工作的:directory 是個(gè) Python 包 ( 比如包含一個(gè) __init__.py 文件 ),或者 directory 被加入了 Python 的搜索路徑中。  

使用 Pylint 對(duì)一個(gè)包 pakage 進(jìn)行代碼檢查:

1. 進(jìn)入這個(gè)包所在文件夾,運(yùn)行

pylint [options] pakage

 這種調(diào)用方式是一直可以工作的,因?yàn)楫?dāng)前的工作目錄會(huì)被自動(dòng)加入 Python 的路徑中。

2. 不進(jìn)入包所在的文件夾,運(yùn)行

pylint [options] directory/ pakage

 這種情況下當(dāng)如下條件滿足的時(shí)候是可以工作的:directory 被加入了 Python 的路徑中。比如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。
此外,對(duì)于安裝了 tkinter 包的機(jī)器,可以使用命令 pylint-gui打開(kāi)一個(gè)簡(jiǎn)單的 GUI 界面,在這里輸入模塊或者包的名字 ( 規(guī)則同命令行 ), 點(diǎn)擊 Run,Pylint 的輸出會(huì)在 GUI 中顯示。

五、 Pylint常用命令行參數(shù)

-h,--help : 顯示所有幫助信息。
--generate-rcfile :可以使用 pylint --generate-rcfile 來(lái)生成一個(gè)配置文件示例??梢允褂弥囟ㄏ虬堰@個(gè)配置文件保存下來(lái)用做以后使用。也可以在前面加上其它選項(xiàng),使這些選項(xiàng)的值被包含在這個(gè)產(chǎn)生的配置文件里。 如:pylint -- persistent=n --generate-rcfile > pylint.conf, 查看 pylint.conf,可以看到 persistent=no,而不再是其默認(rèn)值 yes。
--rcfile=<file> :指定一個(gè)配置文件。把使用的配置放在配置文件中,這樣不僅規(guī)范了自己代碼,也可以方便地和別人共享這些規(guī)范。
-i <y_or_n>, --include-ids=<y_or_n> :在輸出中包含 message 的 id, 然后通過(guò) pylint --help-msg=<msg-id>來(lái) 查看這個(gè)錯(cuò)誤的詳細(xì)信息,這樣可以具體地定位錯(cuò)誤。
-r <y_or_n>, --reports=<y_or_n> :默認(rèn)是 y, 表示 Pylint 的輸出中除了包含源代碼分析部分,也包含報(bào)告部分。
--files-output=<y_or_n> :將每個(gè) module /package 的 message 輸出到一個(gè)以 pylint_module/package. [txt|html] 命名的文件中,如果有 report 的話,輸出到名為 pylint_global.[txt|html] 的文件中。默認(rèn)是輸出到屏 幕上不輸出到文件里。
-f <format>, --output-format=<format> :設(shè)置輸出格式??梢赃x擇的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默認(rèn)的輸出格式是 text。
--disable-msg= <msg ids> :禁止指定 id 的 message. 比如說(shuō)輸出中包含了 W0402 這個(gè) warning 的 message, 如果不希望它在輸出中出現(xiàn),可以使用 --disable-msg= W0402

六、Pylint的輸出

Pylint的默認(rèn)輸出格式是原始文本(raw text)格式 ,可以通過(guò) -f <format>,--output-format=<format> 來(lái)指定別的輸出格式如html等等。 

在Pylint的輸出中有如下兩個(gè)部分:源代碼分析部分和報(bào)告部分。
源代碼分析部分:
  對(duì)于每一個(gè) Python 模塊,Pylint 的結(jié)果中首先顯示一些"*"字符 , 后面緊跟模塊的名字,然后是一系列的 message, message 的格式如下: __MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE__ MESSAGE_TYPE 有如下幾種:

(C) 慣例。違反了編碼風(fēng)格標(biāo)準(zhǔn)
(R) 重構(gòu)。寫(xiě)得非常糟糕的代碼。
(W) 警告。某些 Python 特定的問(wèn)題。
(E) 錯(cuò)誤。很可能是代碼中的錯(cuò)誤。
(F) 致命錯(cuò)誤。阻止 Pylint 進(jìn)一步運(yùn)行的錯(cuò)誤。
 

報(bào)告部分:

在源代碼分析結(jié)束后面,會(huì)有一系列的報(bào)告,每個(gè)報(bào)告關(guān)注于項(xiàng)目的某些方面,如每種類(lèi)別的 message 的數(shù)目,模塊的依賴(lài)關(guān)系等等。
具體來(lái)說(shuō),報(bào)告中會(huì)包含如下的方面: 檢查的 module 的個(gè)數(shù)。 對(duì)于每個(gè) module, 錯(cuò)誤和警告在其中所占的百分比。
比如有兩個(gè) module A 和 B, 如果一共檢查出來(lái) 4 個(gè)錯(cuò)誤,1 個(gè)錯(cuò)誤是在 A 中,3 個(gè)錯(cuò)誤是在 B 中,那么 A 的錯(cuò)誤的百分比是 25%, B 的錯(cuò)誤的百分比是 75%。 錯(cuò)誤,警告的總數(shù)量。

python中pylint使用方法

在Eclipse IDE 下, 打開(kāi) Window->Preferences... 對(duì)話框,從右側(cè)的樹(shù)形列表中選擇“ PyDev”->“Interpreter Python”, 點(diǎn)擊New按鈕,從Python的安裝路徑下選擇Python.exe,然后會(huì)彈出一個(gè)對(duì)話框讓你勾選System PYTHONPATH,我是都選了,應(yīng)該無(wú)所謂。最后點(diǎn)Ok,退出。

一、進(jìn)行Django項(xiàng)目的開(kāi)發(fā)配置

1、建立PyDev Project

Eclipse IDE——>File——>New——>Other——>Pydev——>選擇Pydev Project——>起一個(gè)項(xiàng)目的名稱(chēng)(例如demo)——>選擇路徑,如E:/work——>選擇適合你的Python版本(我的是2.5)——>將下面的勾去掉,不要建立src文件——>Finish。

2、建立Django Project

(1)django-admin.py startproject demo。(貌似不能在命令行直接用django-admin.py,而必須使用C:/Python26/Scripts/django-admin.py,后來(lái)才知道要把C:/Python26/Scripts加入Path.)

(2)把生成的Django項(xiàng)目目錄拷貝到Eclipse剛剛建立的項(xiàng)目下的目錄里。返回剛才的Elicpse IDE——>在PyDev Package視圖中刷新剛新建的項(xiàng)目demo,即可看到Django項(xiàng)目工程。添加、刪除文件和目錄的操作都可以通過(guò)右鍵菜單來(lái)完成。

3、Django項(xiàng)目工程配置

(1)project 右鍵——>屬性——>選擇PyDev-PYTHONPATH——>add source folder(選擇項(xiàng)目文件路徑添加到項(xiàng)目代碼——>確定 。

(2)對(duì)Pydev項(xiàng)目進(jìn)行配置:

選擇Pydev的項(xiàng)目名稱(chēng)——>Run as——>Open Run Dialog——>Python Run——>右鍵New——>在Main面板中寫(xiě)入項(xiàng)目名稱(chēng),通過(guò)Browse載入項(xiàng)目名稱(chēng)和Main Module,Main Module選擇manage.py——>在Augement面板中,arguments中輸入 runserver --noreload,下面的working directory加入你的base directory。

二、進(jìn)行Django項(xiàng)目的調(diào)試配置

跟開(kāi)發(fā)配置差不多,但是添加了兩個(gè)環(huán)境變量,具體操作如下:
(1)project 右鍵 ——>Debug as ——>open Debug dialog。
(2)main窗口中選擇manage.py所在的project,Main Module選擇manage.py所在文件位置。
(3)arguments中輸入 runserver --noreload。
(4)Environment中添加DJANGO_SETTINGS_MODULE=settings ,PYTHONPATH=$PWD。

三、配置pylint

    1、pylint簡(jiǎn)介

         pylint主要用來(lái)分析你的PY代碼,查找出其中的錯(cuò)誤,并給出提示,并且還可以為你提出一些編碼風(fēng)格的提示的一個(gè)PYTHON模塊??傊?,它的作用是使得你的代碼更加的接近 PEP 008 (http://www.python.org/dev/peps/pep-0008/) Title:  Style Guide for Python Code 中所描述的代碼風(fēng)格,使你的代碼統(tǒng)一并更加可讀。

    2、下載并安裝pylint

         pylint, logilab-astng, logilab-common ,安裝方式跟安裝django的方式都是一樣的。也就是直接使用
  python setup.py install 即可。

    3、配置使用pylint
         (1)Window -> preferences -> Pydev -> Pylint,選中"Use pylint?",再輸入lint.py的地址,例如"C:/Python25/Lib/site-packages/pylint/lint.py"

         (2)并在最后編輯框中添加參數(shù),以限制pylint的輸出。

             --persistent=n --comment=n

    --disable-msg=C0103,C0301,W0312,W0511,W0232,E1101

         (3)Project->Properties->PyDev-PYTHONPATH增添項(xiàng)目的源文件目錄到"Project Source Folders"。
         (4)選中Project->Build Automatically,這樣保存修改時(shí)pylint就會(huì)自動(dòng)check項(xiàng)目中的代碼,否則就要用Ctrl+B手動(dòng)build并觸發(fā)pylint。

看完上述內(nèi)容,你們對(duì)如何在python中使用pylint有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI