Need help with pyflakes-vim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

403 Stars 69 Forks 89 Commits 32 Opened issues


on the fly Python checking in Vim with PyFlakes

Services available


Need anything else?

Contributors list

WARNING: DEPRECATED! pyflakes-vim is officially deprecated!

The features of pyflakes-vim have been merged into other more widely-used and updated tools.

If you're using vim 8.0 or neovim, try ALE_ and flakes8_ instead.

.. _ALE: .. _flakes8:

On older vims you can try Syntastic_.

.. _Syntastic:


A Vim plugin for checking Python code on the fly.

PyFlakes catches common Python errors like mistyping a variable name or accessing a local before it is bound, and also gives warnings for things like unused imports.

pyflakes-vim uses the output from PyFlakes to highlight errors in your code. To locate errors quickly, use quickfix_ commands like :cc.

Make sure to check vim.org_ for the latest updates.

.. pyflakes.vim: .. .. _quickfix:

Quick Installation

  1. Make sure your


    filetype on " enables filetype detection filetype plugin on " enables filetype specific plugins

  2. Download the latest release_.

  3. If you're using pathogen_, unzip the contents of
    into its own bundle directory, i.e. into

Otherwise unzip

and the
directory into
(or somewhere similar on your
runtime path
_ that will be sourced for Python files).


Some tiny tests with::

pip install -r test-requirements.txt
py.test ftplugin/python/

.. release: .. pathogen: .. _runtime path:'runtimepath'

Running from source

If you're running pyflakes-vim "from source," you'll need the PyFlakes library on your PYTHONPATH somewhere. (It is included in the zipfile.) I recommend getting the PyFlakes_ fork, which retains column number information, giving more specific error locations.

.. .. _PyFlakes:



git clone --recursive git://

or use the PyFlakes_ submodule::

git clone git:// cd pyflakes-vim git submodule init git submodule update


Set this option in your vimrc file to disable quickfix support::

let g:pyflakes_use_quickfix = 0

The value is set to 1 by default.

Pyflakes can use Python 2 or Python 3 compiled into Vim. If you have both, you can ask Pyflakes to prefer one or the other, with this in your vimrc::

let g:pyflakes_prefer_python_version = 3


let g:pyflakes_prefer_python_version = 2

Pyflakes will chose Python 2 by default, if you have both. If you prefer a version that you don't have, Pyflakes will quietly fall back to the version that you do have.


  • signs_ support (show warning and error icons to left of the buffer area)
  • configuration variables
  • parse or intercept useful output from the warnings module

.. _signs:


Please see for a history of all changes.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.