1. There is wonderful command line utility that checks python code called pyflakes.
Here text from pyflakes man page:
Pyflakes is a simple program which checks Python source files for errors. It is similar to PyChecker in scope, but differs in that it does not execute the modules to check them. This is both safer and faster, although it does not perform as many checks. Unlike PyLint, Pyflakes checks only for logical errors in programs; it does not perform any checks on style.All commandline arguments are checked, which have to be either regular files or directories. If a directory is given, every .py file within will be checked.When no commandline arguments are given, data will be read from standard input.
2. There's vim filetype plugin that uses pyflakes utility: http://www.vim.org/scripts/script.php?script_id=2441
p.s. Это фрагмент письма в рабочую рассылку. Переводить не стал. :)