Основные моменты стиля кода PyCharm PEP8 не работают

У меня была проблема с выделением стиля PEP8. Проблема в том, что он не выделяет очевидных проблем со стилем, таких как отсутствие пустых строк перед определениями классов или отсутствие пустых строк в конце файла. Это могло быть связано с моей виртуальной машиной и бродягой, но код проекта размещен локально, поэтому я не думаю, что это должно быть проблемой.

Если я делаю Code > Run Inspection By Name > PEP 8 coding style violation, он говорит, что не находит экземпляров.

В разделе File > Settings > Editor > Code Style > Python > Blank Lines у меня есть пустые строки вокруг класса. Странность заключается в том, что если я изменяю количество строк «вокруг метода», оно меняет их в реальном времени в примере текста справа, но не делает то же самое для строк «вокруг класса».

В разделе File > Settings > Editor > Inspections > Python у меня выбрано "Нарушение стиля кодирования PEP 8". Я попытался изменить его с предупреждения на ошибку, но все еще не вижу основных моментов в моем файле.

У меня не включен режим энергосбережения, и я узнал, что это способ отключить проверку стиля фона в редакторе.

Я искал в Help > Show Log in Files PEP8 и нашел «Pep8ExternalAnnotator - Не нашел подходящего интерпретатора», но я не знаю, что это значит, и не смог найти никаких ссылок на него в Интернете.

Я использую PyCharms professional 2016.3

PyCharm 2016.3.2
Build # PY-163.10154.50, построено 28 декабря 2016 г.
Лицензия на arbaerbearfaerfa
Подписка активна до 17 октября 2017 г.
Только для образовательных целей.
JRE : 1.8.0_112-release-408-b6 amd64
JVM: 64-разрядная серверная виртуальная машина OpenJDK от JetBrains sro


person Nate Schultz    schedule 09.04.2017    source источник
comment
Я заметил, что мой PyCharm CE недавно обновился до версии 2017 года. Возможно, стоит обновить, чтобы увидеть, демонстрирует ли 2017 год для вас такое же поведение.   -  person liquidki    schedule 10.04.2017
comment
Я обновился до профессиональной версии 2017.1, и проблема не устранена. Мне нужен PE вместо CE, потому что мне нужно использовать плагин vagrant или что-то в этом роде.   -  person Nate Schultz    schedule 10.04.2017
comment
У меня такая же проблема с Pycharm 2018.3.3. Я использую интерпретатор Python на WSL   -  person João Abrantes    schedule 29.12.2018


Ответы (3)


Вот еще три вещи, которые нужно проверить:

  • Щелкните значок Inspector и убедитесь, что у вас установлен уровень выделения. к обследованиям.
  • Есть вторая проверка PEP8: «Нарушение соглашения об именах PEP 8».
  • Убедитесь, что объем проверок установлен для всего проекта.
person Steve Piercy    schedule 10.04.2017
comment
У меня установлен уровень выделения на инспекции, а объем - это весь проект. Я вижу эту вторую проверку PEP8, и она работает, но я действительно пытаюсь заставить работать другую. - person Nate Schultz; 10.04.2017
comment
Я в тупике. Предложите подать запрос в службу поддержки в JetBrains. В Windows появились ошибки с проверками PEP8. Вы также можете отправить частный воспроизводимый образец кода через их средство отслеживания проблем. - person Steve Piercy; 10.04.2017
comment
спасибо, я собирался сделать это сегодня. Я тоже на Linux, Ubuntu 16.04 - person Nate Schultz; 11.04.2017
comment
Как сделать так, чтобы объем проверок был установлен для всего проекта? - person Qaswed; 08.11.2019
comment
@Qaswed jetbrains.com/help/pycharm/inspections-settings.html# 5 - person Steve Piercy; 08.11.2019
comment
@StevePiercy Значит, вы имеете в виду, что за полем Severity выбрано In All Scopes? - person Qaswed; 11.11.2019

После того, как я установил Anaconda в Windows 10 (https://docs.anaconda.com/anaconda/install/windows/), установив флажок «Зарегистрировать Anaconda в качестве Python 3.7 по умолчанию», он, в конце концов, сработал. Теперь у меня есть два интерпретатора проекта, и нарушения стиля кода PEP 8 выделены.

person Qaswed    schedule 12.11.2019

У меня была такая же проблема (на Mac, python3.8, pycharm v2020.3). Мне удалось исправить это, сравнив .idea/inspectionProfiles/Project_Default.xml из нового проекта с моим проектом, в котором не было предупреждений проверки pep8. В новом проекте была следующая строчка

    <inspection_tool class="PyClassicStyleClassInspection" enabled="true" level="WARNING" enabled_by_default="true" />

Я добавил в свой проект эту строку, которая не работала с pep8, и она сразу же заработала. Примечание: в настройках проекта было указано, что инспекции pep8 включены, но это просто не работает.

person Fernando Aguilar    schedule 01.04.2021