How to write a pep8 configuration (pep8.rc) file?

12,414

Solution 1

The preferred way is to use a setup.cfg in the top-level of the project (.cfg has the same syntax as a .ini file), which should contain a [pep8] section. For example:

[pep8]
ignore = E226,E302,E41
max-line-length = 160

Note: the error codes are defined in the pep8 docs.


Solution 2

Sadly, the answer from Andy Hayden does not work for pytest / pytest-pep8 / flake8.

pytest-pep8

For that, you have to use either

# content of setup.cfg
[pytest]
pep8maxlinelength = 99

or

[pytest]
max-line-length=99

Strangely, the following does not work

[tool:pytest]
max-line-length=99

pytest-flake8

Add

 [flake8]
 max-line-length=99

Solution 3

They renamed pep8 to pycodestyle to avoid confusion.

You can create a setup.cfg file with:

[pycodestyle]
ignore = E226,E302,E41
max-line-length = 119
exclude =
    tests/
    docs/

For the error codes, you can read this documentation.

Share:
12,414

Related videos on Youtube

Aditya Srivastava
Author by

Aditya Srivastava

Researcher at the Language Technologies Research Center @ IIIT Hyderabad, India. Currently pursuing an MS by Research in Computational Linguistics.

Updated on September 15, 2022

Comments

  • Aditya Srivastava
    Aditya Srivastava over 1 year

    I found the documentation for pep8 but wasn't able to understand how to write these. I couldn't even find any examples with options other than setting max-line-length and ignore.

    I am trying to write a .pep8.rc file in which, among other things, I need to do the following:

    • enable show source
    • enable statistics
    • enable count
    • exclude a directory (say, for example ./random)

    Can somebody answer with an example or link to one?

  • Martin Thoma
    Martin Thoma over 5 years
    Does NOT work with pytest! What does, is pep8maxlinelength (source)