Why does PyCharm use 120 Character Lines even though PEP8 Specifies 79?
Question:
PEP8 clearly specifies 79 characters, however, PyCharm defaults to 120 and gives me the warning “PEP8: line too long (… > 120 characters)”.
Did previous versions of PEP8 use 120 and PyCharm not update its PEP8 checker? I couldn’t find any previous versions of the PEP8 Guide, however, I can easily find previous version of the PEP8 Python scripts.
I’m starting a new Python project and I’m not sure which to use.
References:
Answers:
AFAIK, PEP8 has never allowed 120 characters, but not everyone follows PEP8.
To answer your question: stay under 80 characters, both from common courtesy and good sense.
PyCharm is built on top of IntelliJ. IntelliJ has a default line length of 120 characters.
This is probably because you can’t fit a common Java name like: @annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern {
in a mere 80 character line. (I’m poking fun, but Java names do tend to be longer by convention).
The pep8 checker is configurable, so you can specify a better max line length – like 79 characters.
The error is misleading because the pep8 checker formats the text with something like "PEP8: line too long(... > %s characters)" % max_line_setting
. So it’s using the pep8 checker, with a specific configuration, not claiming that pep8 specifies a 120 character line.
If you want to remove the limit warning altogether you can take the following steps:
- In PyCharm, click File > Settings
- In the project settings section, click Editor > Inspections
- In the list that appears, expand Python
- Under Python, scroll down and click “PEP8 coding style violation”
- Click the + button next to “Ignore errors” in the bottom right
- Type out E501 and click Apply and/or OK
Sources:
PEP8 clearly specifies 79 characters, however, PyCharm defaults to 120 and gives me the warning “PEP8: line too long (… > 120 characters)”.
Did previous versions of PEP8 use 120 and PyCharm not update its PEP8 checker? I couldn’t find any previous versions of the PEP8 Guide, however, I can easily find previous version of the PEP8 Python scripts.
I’m starting a new Python project and I’m not sure which to use.
References:
AFAIK, PEP8 has never allowed 120 characters, but not everyone follows PEP8.
To answer your question: stay under 80 characters, both from common courtesy and good sense.
PyCharm is built on top of IntelliJ. IntelliJ has a default line length of 120 characters.
This is probably because you can’t fit a common Java name like: @annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern {
in a mere 80 character line. (I’m poking fun, but Java names do tend to be longer by convention).
The pep8 checker is configurable, so you can specify a better max line length – like 79 characters.
The error is misleading because the pep8 checker formats the text with something like "PEP8: line too long(... > %s characters)" % max_line_setting
. So it’s using the pep8 checker, with a specific configuration, not claiming that pep8 specifies a 120 character line.
If you want to remove the limit warning altogether you can take the following steps:
- In PyCharm, click File > Settings
- In the project settings section, click Editor > Inspections
- In the list that appears, expand Python
- Under Python, scroll down and click “PEP8 coding style violation”
- Click the + button next to “Ignore errors” in the bottom right
- Type out E501 and click Apply and/or OK
Sources: