
Pylint是Python 2或3的靜態代碼分析儀。最新版本支持Python 3.9.0及更高版本。
Pylint在不實際運行的情況下分析您的代碼。它檢查錯誤,執行編碼標準,尋找代碼氣味,並可以對如何重構代碼提出建議。
為了使用命令行,pylint安裝了:
PIP安裝孔
或者,如果您還要使用enchant檢查拼寫(您可能需要安裝Enchant C庫):
pip install pylint[spelling]它也可以集成在大多數編輯器或IDE中。更多信息可以在文檔中找到。
Pylint使用其內部代碼表示(Astroid)(Astroid)來推斷節點的實際值(因為孔啟動時沒有打字)。如果您的代碼是import logging as argparse ,則Pylint可以檢查並知道argparse.error(...)實際上是記錄調用,而不是ArgParse調用。這使得孔較慢,但是如果您的代碼未完全鍵入,則可以讓Pylint查找更多問題。
[推理]是殺手級的功能,它使我們在項目中使用[Pylint]的功能慢慢慢。 - 現實主義的Pylint用戶,2022年
皮革不害怕比已經慢一點的,也比其他襯裡要徹底得多。還有更多的檢查,包括一些默認情況下停用的有見識的檢查,但可以使用配置啟用。
皮層並不比您聰明:它可能會警告您您認真完成的事情或檢查一些您不在乎的事情。在採用期間,尤其是在一個從未執行過皮革的舊項目中,最好從--errors-only標誌開始,然後使用 - 可限制的慣例和重構消息--disable=C,R ,然後逐漸重新評估和重新啟用消息,因為您的優先事項會隨著優先事項而發展。
Pylint是高度可配置的,並允許編寫插件以添加自己的支票(例如,對於內部庫或內部規則)。 Pylint還擁有用於流行框架和第三方庫的現有插件的生態系統。
筆記
Pylint開箱即用支持Python標準庫。並不總是支持第三方庫,因此可能需要一個插件。一個好的起點是PyPI ,通常通過搜索pylint <library>來返回插件。 Pylint-Pydantic,Pylint-Django和Pylint-Sonarjson是此類插件的示例。有關插件以及如何加載它們的更多信息,請訪問插件。
Projects that you might want to use alongside pylint include ruff ( really fast, with builtin auto-fix and a large number of checks taken from popular linters, but implemented in rust ) or flake8 (a framework to implement your own checks in python using ast directly), mypy, pyright / pylance or pyre (typing checks), bandit (security oriented checks), black and isort (auto-formatting), AutoFlake(自動刪除未使用的進口或變量),Pyupgrade(自動升級到較新的Python語法)和PydocStringFormatter(自動化PEP257)。
皮革船舶帶有另外兩個工具:
我們歡迎所有形式的貢獻,例如文檔的更新,新代碼,檢查重複項的問題,或告訴我們我們可以關閉它們,確認問題仍然存在,創建問題,因為您找到了一個錯誤或想要一個功能等。一切都非常感謝!
如果您想做出代碼貢獻,請遵循《行為準則》並檢查貢獻指南。
您可以將此徽章放入讀書中,讓其他人知道您的項目使用pylint。
了解如何在徽章文檔中向文檔中添加徽章。
Pylint IS,下面列出的少數例外GPLV2。
圖標文件是根據CC BY-SA 4.0許可證許可的:
請檢查聯繫信息。
| 作為Tidelift訂閱的一部分,可以提供對皮革的專業支持。 Tidelift為軟件開發團隊提供了購買和維護其軟件的單一來源,並提供了最了解它的專家,同時與現有工具無縫集成。 |