Как запустить Pylint с PyCharm

Я хочу настроить pylint как внешний инструмент для всей моей директории проекта для проекта python, над которым я работаю. Я пытался использовать репозиторий как модуль с __init__.py и без него, и он не работает в любом случае.

Мне сложно настроить pylint для запуска с PyCharm. Я знаю, что я должен использовать его как внешний инструмент, но настройки меня путают.

Властный источник в своей документации не работает, поэтому я не могу это проверить.

Ответ 1

Вы можете настроить pylint для работы с PyCharm, выполнив следующие шаги:

  1. Установить pylint:

    $ pip install pylint
    
  2. Найдите вашу pylint установки pylint:

    $ which pylint         # MacOS/Linux
    /usr/local/bin/pylint  # this is just a possible output check yours
    

    $ where pylint         # Windows
    %LocalAppData%\Programs\Python\Python36-32\Scripts\pylint.exe  # possible location
    
  3. Откройте окно настроек PyCharm с помощью меню " File → Settings, затем перейдите к " Tools → External Tools на боковой панели. (Или поиск "внешние инструменты")

    PyCharm External tools

  4. Настройте внешний инструмент, нажав на знак + и заполнив соответствующие поля. В Program используйте путь, который вы получили при запуске which pylint, для других значений вы можете использовать то же изображение.

    PyCharm Edit Tool

  5. Запустите pylint из Tools → External Tools → pylint:

    PyCharm External Tools

  6. Посмотри свой вывод в терминале PyCharm

    PyCharm terminal

Для получения более подробной информации, обратитесь к Pylinting с PyCharm.

Обновить:

Если вы хотите использовать pylint для проверки всего вашего проекта или определенного файла или каталога, вы можете щелкнуть правой кнопкой мыши на корне, файле или каталоге вашего проекта, затем External Tools → pylint как показано ниже.

PyCharm check entire project

Ответ 2

Поскольку я не нашел готовую готовую настройку, это настройки, которые я использую в PyCharm CE 2018.1 для macOS:

1 - pip install pylint в ваш проект virtualenv или глобально

2 - Добавить новый внешний инструмент и настроить:

Program: pylint
Arguments: "--msg-template='{abspath}:{line:5d},{column:2d}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\,\s*$COLUMN$:

Обратите внимание на обязательные двойные кавычки для msg-шаблона и escape-символы для выходных фильтров. Выходной фильтр позволяет щелкнуть путь к файлу и открыть его в редакторе исходного кода IDE.

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

pylint arguments

Ответ 3

Изменение: теперь я использую и рекомендую плагин Pycharm, которого не было, когда я впервые написал этот ответ.


Коллега указал мне на Pylint-Pycharm на GitHub. Это обертка вокруг pylint с выводом, отформатированным для PyCharm. Вот как я это настроил:

git clone https://github.com/perses76/pylint-pycharm.git
cd pylint-pycharm
python setup.py build

Это создает build/scripts-2.7/pylint-pycharm

Затем в PyCharm создайте новый внешний инструмент со следующими настройками:

Program: path to your installation of pylint-pycharm  
Arguments: --virtualenv=$PyInterpreterDirectory$/.. $FileName$
Working directory: $FileDir$ 
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*

PyLint for PyCharm External Tool settings screenshot

Теперь запустите его из Сервис → Внешние инструменты → PyLintPyCharm. Каждая строка вывода будет связана с соответствующей позицией в исходном коде.

Ответ 4

Записка о предыдущих ответах. Я искал метод, чтобы PyCharm знал о синтаксисе вывода, чтобы я мог напрямую переходить к расположению файлов. Это работает без использования дополнительных инструментов.

Pylint может быть настроен для вывода сообщений в определенном формате, используя опцию msg-template в файле pylintrc или опцию CLI --msg-template.

Я установил его на: msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'

В настройках Внешних инструментов для Фильтров Output filters: можно установить значение $FILE_PATH$:$LINE$:$COLUMN$:.* Поэтому PyCharm показывает ссылки для прямого перехода к указанным местоположениям. Это можно комбинировать с output-format=colorized поэтому я получаю следующее: enter image description here PyCharm не распознает столбец, несмотря на его настройку. Но наличия файла и строки мне достаточно.

Ответ 5

Вы можете попробовать этот плагин Pylint PyCharm:

Pylint PyCharm screenshot

обеспечивает сканирование файлов Python в реальном времени и по требованию с помощью Pylint из PyCharm/IDEA.

После того, как он установлен, проверка в режиме реального времени работает автоматически. По требованию у вас есть несколько вариантов, начиная от проверки текущего открытого файла до сканирования всего проекта: enter image description here

(Просто ради прозрачности я разработчик)

Ответ 6

Сначала установите pylint с pip:

pip install pylint

Вам нужно открыть "Настройки > Инструменты > Внешние инструменты" и нажать кнопку "+" в PyCharm.

Вот пример с хорошими настройками.

Ответ 7

Благодаря информации здесь и обновленной документации от PyCharm я смог заставить это работать хорошо, также используя виртуальную среду для проекта (гарантируя, что любые пакеты могут быть развернуты в виртуальной среде и не должны быть развернуты глобально).).

Взяв то, что предоставил lkraider ранее, но с небольшими изменениями:

  1. Убедитесь, что вы устанавливаете Pylint в виртуальной среде. Обратите внимание, что при создании виртуальной среды вы не выбрали "Наследовать глобальные пакеты сайтов". Если вы это сделаете, то Pylint окажется глобально, и это не будет работать.

  2. Добавить новый внешний инструмент и настроить. Это немного отличается от того, что предоставил lkraider. Для одного я хотел, чтобы это выглядело больше как нормальный вывод pylint, следовательно, мой msg-шаблон (и фильтр вывода) немного отличается. Каждому свое. Второе изменение более важно для выполнения pylint на основе виртуальной среды, то есть параметра программы, в котором я использую $ PyInterpreterDirectory $.

Program: $PyInterpreterDirectory$/pylint
Arguments: "--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\:\s*$COLUMN$:

Внешний инструмент для цилиндра

Ответ 8

Роберто Лейнарди создал плагин pylint для pycharm, который действительно работает и хорошо интегрируется в IDE:

Простота установки из репозиториев, полная инструкция по адресу: https://github.com/leinardi/pylint-pycharm

У меня пока небольшой, но счастливый опыт! Слава Роберто.