Как запустить Pylint с PyCharm
Я хочу настроить pylint как внешний инструмент для всей моей директории проекта для проекта python, над которым я работаю. Я пытался использовать репозиторий как модуль с __init__.py
и без него, и он не работает в любом случае.
Мне сложно настроить pylint для запуска с PyCharm. Я знаю, что я должен использовать его как внешний инструмент, но настройки меня путают.
Властный источник в своей документации не работает, поэтому я не могу это проверить.
Ответы
Ответ 1
Вы можете настроить pylint
для работы с PyCharm, выполнив следующие шаги:
-
Установить pylint
:
$ pip install pylint
-
Найдите вашу 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
-
Откройте окно настроек PyCharm с помощью меню " File → Settings
, затем перейдите к " Tools → External Tools
на боковой панели. (Или поиск "внешние инструменты")
![PyCharm External tools]()
-
Настройте внешний инструмент, нажав на знак + и заполнив соответствующие поля. В Program
используйте путь, который вы получили при запуске which pylint
, для других значений вы можете использовать то же изображение.
![PyCharm Edit Tool]()
-
Запустите pylint
из Tools → External Tools → pylint
:
![PyCharm External Tools]()
-
Посмотри свой вывод в терминале 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
поэтому я получаю следующее:
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 ранее, но с небольшими изменениями:
-
Убедитесь, что вы устанавливаете Pylint в виртуальной среде. Обратите внимание, что при создании виртуальной среды вы не выбрали "Наследовать глобальные пакеты сайтов". Если вы это сделаете, то Pylint окажется глобально, и это не будет работать.
-
Добавить новый внешний инструмент и настроить. Это немного отличается от того, что предоставил 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
У меня пока небольшой, но счастливый опыт! Слава Роберто.