如何使用PyCharm运行Pylint

问题描述 投票:43回答:8

我想在我的整个项目目录中将pylint配置为外部工具,用于我正在处理的python项目。我试图将存储库用作__init__.py和没有的模块,并且它无论如何都无法正常工作。

我在设置pylint以使用PyCharm时遇到困难。我知道我应该将它作为外部工具运行,但设置让我感到困惑。

他们的文档的权威来源被打破了,所以我也无法检查它。

python python-3.x pycharm pylint
8个回答
90
投票

您可以按照以下步骤设置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. 使用File -> Settings打开PyCharm设置窗口,然后导航到侧栏中的Tools -> External Tools。 (或搜索“外部工具”) PyCharm External tools
  4. 通过单击+号并相应填写字段来设置外部工具。在Program中使用运行which pylint时获得的路径,对于其他值,您可以使用相同的图像。 PyCharm Edit Tool
  5. pylint运行Tools -> External Tools -> pylintPyCharm External Tools
  6. 在PyCharm终端中查看输出 PyCharm terminal

有关更多详细信息,请参阅Pylinting with PyCharm

更新:

如果要使用pylint检查整个项目或特定文件或目录,可以右键单击项目根目录,文件或目录,然后单击External Tools -> pylint,如下所示。

PyCharm check entire project


22
投票

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

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

只有缺少的功能是输出过滤器将lint描述直接绘制到源视图中,就像使用内置linter一样。虽然此时没有这样的功能。

pylint arguments


8
投票

编辑:我现在使用并推荐当我第一次写这个答案时不存在的Pycharm plugin


一位同事在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 External Tool settings screenshot

现在从工具 - >外部工具 - > PyLint PyCharm运行它。每行输出将超链接到源代码中的相关位置。


6
投票

你可以尝试这个Pylint PyCharm plugin

Pylint PyCharm screenshot

使用PyCharm / IDEA中的Pylint提供Python文件的实时和按需扫描。

安装完成后,实时检查会自动进行。对于按需,您有几个选项,从检查当前打开的文件到扫描整个项目:enter image description here

(只是为了透明,我是开发人员)


5
投票

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

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

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

在外部工具设置中,Output filters:可以设置为$FILE_PATH$:$LINE$:$COLUMN$: .*,因此PyCharm显示直接跳转到报告位置的链接。这可以与output-format=colorized结合,所以我得到这个:enter image description here PyCharm虽然配置了它但不识别该列。但拥有文件和行对我来说已经足够了。


3
投票

首先用pip安装pylint:

pip install pylint

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

这是一个设置良好的example


1
投票

Roberto Leinardi为pycharm创建了一个pylint插件,它非常有效并且可以很好地集成到IDE中:

易于从存储库安装,完整说明:https://github.com/leinardi/pylint-pycharm

到目前为止,我有一个短暂而快乐的体验!感谢罗伯托。


0
投票

感谢此处提供的信息,以及来自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$:

External tool for pylint

© www.soinside.com 2019 - 2024. All rights reserved.