在上一篇中讲了autopep8的应用《使用aotupep8自动批量调整代码以符合PEP-8规范》,有时候只需要检查并提示,并不希望“自动修改”,这个时候就该Pylint上场了。
1. 安装Pylint
pip install pylint
这里多一句嘴,如果在项目路径下执行pip install,则pylint会装在项目文件夹内,即本项目可用;如果在Python安装目录下运行pip install,则pylint会安装在Python根目录内的“Lib/site-packages”中,相当于全局可用了。
安装完成后,可以查看版本。
D:\MyProjects>pylint --version
pylint 2.9.6
astroid 2.6.6
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]
2. 生成缺省配置文件
pylint --persistent=n --generate-rcfile > pylint.conf
配置文件 pylint.conf 会生成在当前路径下,在里面可以调整和自定义 pylint 的检查规则。如果团队有统一的编码规范,可以将该文件设置为全局。如果针对不同项目需要应用不同的编码规范,可以将该配置文件存放在项目文件夹中,以实现差异化管理。
如果将这个配置更名为 .pylintrc (文件名第一个字符是点“.”),那么在运行时就可以不用指定配置文件了。
3. 运行检查
检查单个文件
pylint --rcfile=pylint.conf main.py
# 如果文件 pylint.conf 已经被重命名为 .pylintrc,则
pylint main.py
检查整个模块/项目/目录
pylint --rcfile=pylint.conf module_dir_name
# 如果文件 pylint.conf 已经被重命名为 .pylintrc,则
pylint module_dir_name
4. 集成到Pycharm中
File - Settings - Tools - External Tools
其中:
Name: pylint(可以自己起名字)
Program: pylint.exe可执行程序的路径
Arguments: $FilePath$
Working directory: $ProjectFileDir$
然后在文件或目录上“右键 - External - plint”即可。
5. 运行结果
运行结果如下,不同的模块间,会用一排星号隔开。