Немного предыстории:
Я запускаю pep8.py вручную, когда пишу сценарии, но с более крупными проектами я предпочитаю использовать Eclipse. Было бы действительно полезно интегрировать pep8.py в Eclipse / Pydev, чтобы он мог автоматически запускаться во всех файлах проекта и указывать на строки, содержащие предупреждения. Может быть, есть очевидный способ сделать это, но я его еще не нашел.
Вопрос: Как интегрировать pep8.py в Eclipse?
Учитывая, что ситуация изменилась с тех пор, как вы приняли ответ Дмитрий Кочкин, могу ли я предложить вам изменить принятый ответ на ответ Фабио Задрозный или ответ angelo.bixly? Это поможет будущим посетителям, которые, как и я, пришли к этому вопросу от Google, позволяя нам сначала найти самую свежую информацию - в противном случае может потребоваться много времени, чтобы эти ответы оказались наверху.






Похоже, что это еще не полностью интегрировано в Pydev.
Как предлагается в эта почта,
[it] would require changing the code within pydev -- a flexible option would be adding preferences to let the user choose to which patterns he wants to match for creating hyperlinks (and saying which group in the match is the line and which one is the file)...
Or, you can try it hard-coded playing with: org.python.pydev.debug.ui.PythonConsoleLineTracker (should be pretty easy to grasp).
запрос действительно существует только для этого, но кажется, что он все еще открыт через год после его создания ...
Я не знаю, как интегрировать его для всего проекта, но я использовал его как внешний инструмент для анализа отдельного файла.
Обратите внимание, что пакет pycodestyle является официальной заменой и является более новой версией пакета pep8. Чтобы установить его, запустите:
$ sudo pip install --upgrade pycodestyle
Далее в Eclipse:
pycodestyle.Заполните следующие поля:
Место расположения - ${system_path:pycodestyle}
Рабочий каталог - ${container_loc}
Аргументы - "${resource_name}" (Использует текущий активный файл.)
Перейдите на вкладку Общий и убедитесь, что установлен флажок Назначить консоль.
Преимущество этого подхода заключается в том, что вы можете использовать самую последнюю версию пакета и не ограничиваться старой версией, включенной в PyDev. И если вам интересно настроить pylint аналогичным образом, см. этот ответ.
Если вы получаете ошибку Переменная ссылается на пустой выбор: $ {container_loc}, не забудьте добавить исходную папку в PYTHONPATH (ее может не быть, если вы импортируете существующий проект в рабочую область). Щелкните правой кнопкой мыши имя проекта> Свойства> PyDev - PYTHONPATH> вкладка Исходные папки и щелкните Добавить исходную папку. Должно работать как шарм.
Теперь есть интеграция с pep8 по умолчанию. См .: stackoverflow.com/a/8532188/110451
Это не так полезно для ПРОВЕРКИ pep8, поскольку это в основном доступно в Eclipse, но я нашел его отличным для autopep8! Спасибо
Вы этого не сделаете :) Вместо этого вы воспользуетесь очень хорошей интеграцией с PyLint и сконфигурируете PyLint для проверки всех проверок PEP8. См. Как настроить PyLint для проверки всего, что проверяет PEP8?
Начиная с PyDev 2.3.0, pep8 интегрирован в PyDev по умолчанию, даже если поставляется с его версией по умолчанию.
Открыть окно> Настройки
Его необходимо включить в PyDev> Редактор> Анализ кода> pep8.py.
Ошибки / предупреждения должны отображаться в виде маркеров (как и все остальное при обычном анализе кода).
Если файл не проанализирован, см. https://stackoverflow.com/a/31001619/832230.
По умолчанию он показывает множество предупреждений. Однако когда я запускаю его из командной строки, он показывает еще больше. Как я могу убедить его отображать все предупреждения в Eclipse, как они отображаются при запуске из командной строки? Варианты такие же. Кроме того, перенаправление вывода pep8 на консоль ничего не делает.
PyDev в настоящее время использует более старую версию, поскольку он использует внутреннюю версию Jython (в настоящее время это 2.2.1). Планируется либо запустить его извне для получения результатов, либо обновить внутренний Jython, чтобы иметь возможность поддерживать более новые версии pep8.py.
По-видимому, это не работает с PyDev 4.2.0, маркеры никогда не отображаются ни в режиме предупреждения, ни в режиме ошибки.
Просто протестировал его здесь, и он действительно работает для меня ... обратите внимание, что ваши источники должны находиться в исходной папке (например, в PYTHONPATH), чтобы он работал (если это все еще не работает, сообщите о проблеме в трекере pydev ).
Он начал работать, как только я установил его в режим ошибки. Также есть задержка с момента активации до начала маркировки кода.
Я обнаружил, что он игнорирует настроенные аргументы, если вы не укажете ему использовать системный интерпретатор.
Вот и все. Ваша Eclipse IDE теперь интегрирована с PEP8. Чтобы запустить pep8.py автоматически, щелкните правой кнопкой мыши редактор проекта. Выберите PyDev и нажмите «Анализ кода». На вкладке «Проблемы» в рабочем пространстве вы увидите предупреждения, указывающие на строку, в которой вы допустили нарушение в PEP8 (если вы нарушили).
Что-то очень странное в том, что как бы я ни пытался настроить pep8, предупреждения и информационные маркеры в редакторе не отображались. Так было до тех пор, пока я не добавил представление «Проблемы», потом оно внезапно сработало как шарм ...
АНАЛИЗ КОДА:
В Eclipse (PyDev), если вы хотите использовать анализ кода в стиле pep8, тогда
Перейдите в: Windows -> Настройки -> PyDev -> Редактор -> Анализ кода -> вкладка pep8.py и выберите Предупреждение, нажмите кнопку «Применить» и «ОК».
В вашем коде python, если вы проверяете стиль кодирования pep8, вы получите предупреждение
АВТОМАТИЧЕСКОЕ ФОРМАТИРОВАНИЕ КОДА:
В Eclipse (PyDev), если вы хотите использовать код Python Автоформат с использованием стиля pep8, тогда
Перейдите в: Windows -> Preferences -> PyDev -> Editor -> Code Style -> Code Formatter -> установите флажок (Использовать autopep8.py для форматирования консоли?), нажмите кнопку Apply и OK.
Если вы хотите увеличить длину строки (pep8 по умолчанию 79) ниже Используйте autopep8.py, вы можете установить тип параметра --max-line-length=150, если вы установите максимальную длину на 150
Если нажать ярлык автоформатирования (Ctrl + Shift + F), он автоматически отформатирует ваш код Python, как стиль pep8
Теперь есть интеграция с pep8 по умолчанию. См .: stackoverflow.com/questions/399956/…