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

About the developer

977 Stars 143 Forks MIT License 504 Commits 89 Opened issues


A simple program which checks Python source files for errors

Services available


Need anything else?

Contributors list



A simple program which checks Python source files for errors.

Pyflakes analyzes programs and detects various errors. It works by parsing the source file, not importing it, so it is safe to use on modules with side effects. It's also much faster.

It is

available on PyPI 
_ and it supports all active versions of Python: 2.7 and 3.4 to 3.8.


It can be installed with::

$ pip install --upgrade pyflakes

Useful tips:

  • Be sure to install it for a version of Python which is compatible with your codebase: for Python 2,

    pip2 install pyflakes
    and for Python3,
    pip3 install pyflakes
  • You can also invoke Pyflakes with

    python3 -m pyflakes .
    python2 -m pyflakes .
    if you have it installed for both versions.
  • If you require more options and more flexibility, you could give a look to Flake8_ too.

Design Principles

Pyflakes makes a simple promise: it will never complain about style, and it will try very, very hard to never emit false positives.

Pyflakes is also faster than Pylint_ or Pychecker_. This is largely because Pyflakes only examines the syntax tree of each file individually. As a consequence, Pyflakes is more limited in the types of things it can check.

If you like Pyflakes but also want stylistic checks, you want flake8, which combines Pyflakes with style checks against

and adds per-project configuration ability.


Share your feedback and ideas:

subscribe to the mailing-list


Issues are tracked on


Patches may be submitted via a

GitHub pull request
_ or via the mailing list if you prefer. If you are comfortable doing so, please
rebase your changes
_ so they may be applied to master with a fast-forward merge, and each commit is a coherent unit of work with a well-written log message. If you are not comfortable with this rebase workflow, the project maintainers will be happy to rebase your commits for you.

All changes should include tests and pass flake8_.

.. image:: :target: :alt: GitHub Actions build status

.. _Pylint: .. _flake8: .. _

: .. _Pychecker: .. _
rebase your changes
: .. _
GitHub pull request


Please see


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.