Як інтегрувати pep8.py в Eclipse?


90

Трохи передумови:

  • PEP 8 - Посібник із стилю для коду Python . Він містить домовленості, яких повинні дотримуватися всі програмісти python.
  • pep8.py - це (дуже корисний) скрипт, який перевіряє форматування коду заданого сценарію python, згідно з PEP 8.
  • Eclipse - чудова IDE. З розширенням Pydev , це може бути використано для розробки Python

Я запускаю pep8.py вручну, коли виконую сценарії, але для більших проектів я волію використовувати Eclipse. Було б дуже корисно інтегрувати pep8.py в Eclipse / Pydev, щоб його можна було автоматично запускати у всіх файлах проекту та вказувати на рядки, що містять попередження. Можливо, існує очевидний спосіб це зробити, але я ще не знайшов.

Питання: Як інтегрувати pep8.py в Eclipse?


3
Зараз існує інтеграція pep8 за замовчуванням. Див .: stackoverflow.com/questions/399956/…
Фабіо Задрозний

1
Враховуючи те, що ситуація змінилася з того часу, як ви прийняли відповідь Дмитра Кочкіна , чи можу я запропонувати вам змінити свою прийняту відповідь або на відповідь Фабіо Задрозного, або на відповідь angelo.bixly ? Це допоможе майбутнім відвідувачам, які, як і я, прийшли до цього питання від Google, дозволивши нам спочатку знайти найсвіжішу інформацію - інакше може знадобитися багато часу, щоб ці відповіді просунулися до самого верху.
Mark Booth

Відповіді:


88

Станом на PyDev 2.3.0, pep8він інтегрований у PyDev за замовчуванням, навіть постачається з версією за замовчуванням.

Відкрийте вікно> Налаштування

Його потрібно ввімкнути в PyDev> Редактор> Аналіз коду> pep8.py

Помилки / попередження повинні відображатися як маркери (як і інші речі в звичайному аналізі коду).

Якщо файл не проаналізовано, див. Https://stackoverflow.com/a/31001619/832230 .


6
Він відображає багато попереджень за замовчуванням. Однак, коли я запускаю його з командного рядка, він відображається ще більше. Як я можу переконати його показати всі попередження в Eclipse, як це відображається під час запуску з командного рядка? Варіанти однакові. Крім того, перенаправлення виводу pep8 на консоль нічого не робить.
Krystian Cybulski

2
На даний момент PyDev використовує стару версію, оскільки використовує внутрішню версію Jython (яка на даний момент знаходиться на рівні 2.2.1). Є плани або запустити його зовні для отримання результатів, або оновити внутрішній Jython, щоб мати можливість підтримувати новіші версії pep8.py.
Фабіо Задрозний

Очевидно, це не працює з PyDev 4.2.0, жоден маркер не відображається ні в попередженні, ні в режимі помилки.
Luís de Sousa,

1
Просто перевірив його тут, і він працює для мене ... зверніть увагу, що ваші джерела повинні знаходитись у вихідній папці (тобто: у PYTHONPATH), щоб він працював (якщо це все одно не працює, повідомте про проблему в трекер pydev ).
Фабіо Задрозний

Він почав працювати, коли я встановив його в режим помилки. Також існує затримка з моменту її активації до початку позначення коду.
Luís de Sousa

26

Я не знаю, як інтегрувати його для цілого проекту, але я використав його як зовнішній інструмент для аналізу окремого файлу.

Зверніть увагу, що pycodestyleпакет є офіційною заміною та є новою версією pep8пакету. Щоб встановити його, запустіть:

$ sudo pip install --upgrade pycodestyle

Далі, в Eclipse:

  1. Виберіть Запустити-Зовнішні інструменти-Конфігурації зовнішніх інструментів ...
  2. Виберіть Program кореневої вузол.
  3. Натисніть кнопку конфігурації нового запуску .
  4. Введіть ім'я для конфігурації запуску. Я використовую pycodestyle.
  5. Заповніть наступні поля:

    Місцезнаходження -${system_path:pycodestyle}

    Робочий каталог -${container_loc}

    Аргументи - "${resource_name}"(Тут використовується поточно активний файл.)

Перейдіть на вкладку Загальне та переконайтеся, що прапорець Allocate Console встановлений.

Перевага цього підходу полягає в тому, що ви можете використовувати дуже сучасну версію пакету, і не обмежуючись старою версією, включеною до PyDev. І якщо вам цікаво налаштувати pylintподібним чином, перегляньте цю відповідь .


1
Якщо ви отримуєте посилання на змінну помилки порожній вибір: $ {container_loc} , не забудьте додати свою вихідну папку до PYTHONPATH (її може не бути, якщо ви імпортуєте існуючий проект у робочу область). Клацніть правою кнопкою миші на назві проекту> Властивості> PyDev - PYTHONPATH> Вкладка Вихідні папки та натисніть Додати вихідну папку . Має працювати як шарм.
Берні

2
Зараз існує інтеграція pep8 за замовчуванням. Дивіться: stackoverflow.com/a/8532188/110451
Фабіо Задрозний

1
Це не настільки корисно для ПЕРЕВІРКИ pep8, як це в основному доступно в Eclispe - але я знайшов це чудово для autopep8! Дякую
Том Страттон,

12
  1. Відкрийте Eclipse
  2. Перейдіть до довідки та виберіть Встановити нове програмне забезпечення
  3. Натисніть кнопку Додати, і з’явиться діалогове вікно «Додати сховище»
  4. Ви можете використовувати будь-яке ім’я, яке вам подобається. (Я використовував PyDev)
  5. Для місцезнаходження введіть "http://pydev.org/updates"
  6. Клацніть Ok.
  7. Зараз ви в процесі встановлення. Просто почекайте, поки це закінчиться.
  8. Після встановлення закрийте Eclipse і відкрийте його знову.
  9. Тепер, коли PyDev встановлено у вашому Eclipse, перейдіть до Вікна-> Налаштування
  10. Виберіть PyDev-> Редактор-> Аналіз коду
  11. Перейдіть на вкладку pep8.py
  12. Виберіть перемикач для попередження та натисніть кнопку Ok.

Це воно. Тепер ваша Eclipse IDE інтегрована з PEP8. Щоб запустити pep8.py автоматично, клацніть правою кнопкою миші на редакторі проекту. Виберіть PyDev і натисніть «аналіз коду». На вкладці "Проблеми" у вашій робочій області ви побачите попередження, які вказують на рядок про порушення вами в PEP8 (якщо ви порушили).


Щось дуже дивне, це те, що як би я не намагався налаштувати pep8, попередження та маркери інформації в редакторі не відображалися. Це поки я не додав подання "Проблеми", а потім це раптом спрацювало як шарм ...
Ейді,

10

АНАЛІЗ КОДІВ:

У Eclipse ( PyDev ), якщо ви хочете аналізувати код за допомогою стилю pep8, тоді

Перейдіть до: Windows -> Налаштування -> PyDev -> Редактор -> Аналіз коду -> вкладка pep8.py і виберіть Попередження натисніть Застосувати та натисніть кнопку OK.

У вашому коді python, якщо ви перевірите стиль кодування pep8, це дасть вам попередження

АВТОМАТИЧНЕ ФОРМАТУВАННЯ КОДІВ:

У програмі Eclipse ( PyDev ), якщо потрібно автоматичне форматування код пітона, використовуючи стиль pep8

Перейдіть до: Windows -> Налаштування -> PyDev -> Редактор -> Стиль коду -> Формат коду -> встановіть прапорець ( Використовувати autopep8.py для форматування консолі? ), Натисніть кнопку Застосувати та OK.

Якщо ви хочете збільшити довжину рядка (за замовчуванням pep8 - 79) нижче Використовуйте autopep8.py, ви можете встановити тип параметра, --max-line-length=150якщо встановити максимальну довжину до 150

Якщо натиснути ярлик автоматичного форматування ( Ctrl + Shift + f ), він автоматично відформатує ваш код python, як стиль pep8


6

Це, схоже, ще не повністю інтегровано в Pydev.

Як пропонується у цій публікації ,

[це] зажадає зміни коду в pydev - гнучка опція передбачає додавання налаштувань, щоб дозволити користувачеві вибрати, яким шаблонам він хоче відповідати для створення гіперпосилань (і сказати, яка група у відповідності є рядком, а яка - файл) ...

Або ви можете спробувати жорстко закодовану гру за допомогою: org.python.pydev.debug.ui.PythonConsoleLineTracker (це має бути досить легко зрозуміти).

Запит існує тільки для цього, але це , здається, все ще відкритий 1 рік після його створення ...


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.