pylint
python代码静态检测工具
使用
- 安装
pip install pylint
- 查看是否安装成功
pylint --version
- 生成默认配置文件
pylint --persistent=n --generate-rcfile > .pylintrc
如果生成的文件名不是.pylintrc
,则检测的时候需要加上--rcfile=生成的文件名
- 检查单个文件
- 如果默认配置文件是
.pylintrc
,则检测时pylint a.py
- 如果默认配置文件指定其它名称,则检测时
pylint --rcfile=生成的文件名 a.py
- 如果默认配置文件是
检查结果警告说明
详细可看 Pylint output
- C(convention):规范,违反了编码风格标准
- W(warning):警告,某些python特定问题
- E(error):错误,可能是代码中的错误
- R(refactor):重构,代码比较糟糕
- F(fatal error):致命错误
检查整个工程
pylint只能按照模块检测,可以在根目录下添加init.py文件,将整个工程看成一个python包,可以对整个工程进行pylint
pylint 包名称
pylint集成到PyCharm
配置:点击PyCharm—>Preferences—>Tools—>Externals Tools—>点击+
image参数如下:
- Name:
pylint
- Program:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pylint
(pylint所在目录,可通过which pylint查看路径) - Arguments:
$FileName$
(表示当前右键选中的文件路径) - Working directory:
$FileDir$
(表示文件路径,不包含文件名)
配置完成,使用时点击PyCharm-->Tools-->External Tools-->pylint
git-pylint-commit-hook配置
// 安装
pip install git-pylint-commit-hook
cd .git/hooks
touch pre-commit
// 添加执行权限
chmod 755 pre-commit
pre-commit内容
#!/usr/bin/env bash
git-pylint-commit-hook
如果pylint配置文件名不是.pylintrc
,可指定文件名
git-pylint-commit-hook --limit=9.0 --pylintrc=pylint配置文件名
- --pylintrc 指定配置文件名
- --limit 设置提交分数
详细配置可看https://git-pylint-commit-hook.readthedocs.io/en/latest/usage.html
<font color=red>注意:1. pre-commit内容只能是git-pylint-commit-hook,不能包含其他内容,否则就不能拦截;2. git-pylint-commit-hook不支持中文python文件,报错File not found (probably deleted)</font>
Tortoise Git
完成上面的配置后,通过Tortoise Git提交就可以正常进行代码检测
Mac Sourcetree
通过Sourcetree提交会报出找不到git-pylint-commit-hook和pylint,需要更改pre-commit内容,可通过which git-pylint-commit-hook
和which pylint
查看具体路径
// git-pylint-commit-hook路径 --pylint=pylint路径
/Library/Frameworks/Python.framework/Versions/3.8/bin/git-pylint-commit-hook --pylint=/Library/Frameworks/Python.framework/Versions/3.8/bin/pylint
网友评论