繁体   English   中英

如何使用 PyCharm 运行 Pylint

[英]How to run Pylint with PyCharm

我想在我正在处理的 Python 项目的整个项目目录中将 Pylint 配置为外部工具。 我尝试将存储库用作带有__init__.py和不带的模块,但无论如何它都不起作用。

我在设置 Pylint 以与 PyCharm 一起运行时遇到了困难。 我知道我应该将它作为外部工具运行,但是这些设置让我感到困惑。

他们文档中的权威来源已损坏,因此我也无法检查。

您可以按照以下步骤将 Pylint 设置为与 PyCharm 一起使用:

  1. 安装pylint

     $ pip install pylint
  2. 找到您的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. 使用菜单FileSettings打开 PyCharm 设置窗口,然后导航到侧栏中的菜单ToolsExternal Tools (或搜索“外部工具”)

    PyCharm 外部工具

  4. 通过单击+号并相应地填写字段来设置外部工具。 Program 中使用运行which pylint时获得的路径。 对于其他值,您可以使用图像中的相同值。

    PyCharm 编辑工具

  5. 运行pylint从菜单工具外部工具→pylint的

    PyCharm 外部工具

  6. 在 PyCharm 终端中查看您的输出

    PyCharm 终端

有关更多详细信息,请参阅使用 PyCharm进行Pylinting

如果您想使用 Pylint 检查您的整个项目或特定文件或目录,您可以右键单击您的项目根目录、文件或目录,然后激活External Toolspylint ,如下所示。

PyCharm 检查整个项目

因为我没有找到可用的现成设置,这些是我在 macOS 上的 PyCharm CE 2018.1 中使用的设置:

1 - 在您的项目 virtualenv 或全局pip install pylint

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-template 所需的双引号,以及输出过滤器的转义字符。 输出过滤器允许单击文件路径并在 IDE 源代码编辑器中打开该位置。

唯一缺少的功能是输出过滤器将 lint 描述直接绘制到源视图中,就像内置的 linter 一样。 不过目前没有这样的功能。

pylint 参数

你可以试试这个Pylint PyCharm 插件

Pylint PyCharm 截图

它通过 PyCharm/ IntelliJ IDEA 中的Pylint 提供对 Python 文件的实时和按需扫描。

安装后,实时检查会自动进行。 对于点播,您有几个选项,从只检查当前打开的文件到扫描整个项目:

在此处输入图片说明

(为了透明起见,我是开发人员。)

我现在使用并推荐我第一次写这个答案时不存在的PyCharm 插件。**


一位同事向我介绍了 GitHub 上的pylint-pycharm 它是 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 外部工具设置截图

现在从菜单 Tools* → External ToolsPyLintPyCharm运行它。 每行输出都将超链接到源代码中的相关位置。

关于之前答案的注释。 我正在寻找一种方法让 PyC​​harm 知道输出语法,这样我就可以直接跳转到文件位置。 无需使用其他工具即可工作。

可以使用 pylintrc 文件中的msg-template选项或 CLI 选项--msg-template将 Pylint 配置为以特定格式输出消息。

我将它设置为: msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'

在外部工具设置中, Output filters:可以设置为$FILE_PATH$:$LINE$:$COLUMN$: .*以便 PyCharm 显示直接跳转到报告位置的链接。 这可以与output-format=colorized结合使用,所以我得到了这个: 在此处输入图片说明 尽管配置了该列,PyCharm 仍无法识别该列。 但是拥有文件和行对我来说就足够了。

首先使用 pip 安装 Pylint:

pip install pylint

您必须在 PyCharm 中打开“设置工具外部工具”,然后按“+”按钮。

这是一个具有良好设置的示例

Roberto Leinardi 为 PyCharm 创建了一个 Pylint 插件,它确实有效并能很好地集成到 IDE 中:

易于从存储库安装,完整说明如下:

pylint-pycharm

到目前为止,我有一个短暂但快乐的经历! 向罗伯托致敬。

多亏了这里的信息和来自 PyCharm 的更新文档,我已经能够很好地工作,还可以为项目使用虚拟环境(确保任何包都可以部署在虚拟环境中并且不需要部署全球)。

采用lkraider 之前提供的内容,但稍作修改:

  1. 确保在虚拟环境中安装 Pylint。 请注意,请确保在创建虚拟环境时没有选择“继承全局站点包”。 如果你这样做,那么 Pylint 最终将是全球性的,这将不起作用。

  2. 添加新的外部工具并配置。 这与 lkraider 提供的略有不同。 对于一个我希望它看起来更像普通的 Pylint 输出,因此我的 msg-template(和输出过滤器)有点不同。 各有千秋。 第二个变化是基于虚拟环境执行 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$:

Pylint 的外部工具

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM