Python: PyLint – поиск ошибок и анализ качества кода

Автор: | 26/02/2015

PythonКроме PEP8 среди инструментов для разработчиков на Python имеется утилита PyLint.

Домашняя страница проекта – тут>>>.

Установка на Cygwin:

$ apt-cyg install pylint

На CentOS:

# yum install pylint

Если при запуске программы появляется ошибка вида:

$ pylint scrypt.py
Traceback (most recent call last):
File "/usr/bin/pylint", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Установите setuptools:

$ curl http://peak.telecommunity.com/dist/ez_setup.py | python
...
Installing easy_install script to /usr/bin
Installing easy_install-2.7 script to /usr/bin

Installed /usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11

Для примера работы PyLint  – возьмём простой файл:

$ cat hello.py
#!/usr/bin/env python

print('Hello')

Проверим его:

$ pylint hello.py  | less

************* Module hello
C: 3, 0: Unnecessary parens after 'print' keyword (superfluous-parens)
C: 1, 0: Missing module docstring (missing-docstring)

Помощь по опциям PyLint :

$ pylint -h

Сообщения могут иметь одну из 5-ти маркировок:

  • [R]efactor for a “good practice” metric violation
  • [C]onvention for coding standard violation
  • [W]arning for stylistic problems, or minor programming issues
  • [E]rror for important programming issues (i.e. most probably bug)
  • [F]atal for errors which prevented further processing

PyLint можно интегрировать в IDE, такие как PyCharm и текстовые редакторы, например VIM. Можно использовать в CI приложениях, например Jenkins.

Подробное описание каждого типа ошибок можно найти тут>>>.

Документация PyLint доступна тут>>>.