How to run Pylint with PyCharm
我想将pylint配置为我正在处理的一个python项目的整个项目目录中的一个外部工具。我曾尝试将存储库用作带有
我很难让皮林特和皮查姆一起跑。我知道我应该作为一个外部工具来运行它,但是设置会让我困惑。
他们文档上的权威源被破坏了,所以我也无法检查。
通过以下步骤,您可以设置
安装
1 | $ pip install pylint |
找到您的
1 2 | $ which pylint # MacOS/Linux /usr/local/bin/pylint # this is just a possible output check yours |
1 2 | $ where pylint # Windows %LocalAppData%\Programs\Python\Python36-32\Scripts\pylint.exe # possible location |
打开带有
通过单击+符号并相应地填充字段来设置外部工具。在
从
在Pycharm终端中查看您的输出
有关详细信息,请参阅PyCharm的PyLinting。
更新:
如果要使用
因为我没有找到一个有效的现成设置,这些是我在MacOS上的Pycharm CE 2018.1中使用的设置:
1-您的项目virtualenv或全球范围内的
2-添加新的外部工具并配置:
1 2 3 4 | 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模板所需的双引号,以及输出过滤器的转义字符。输出过滤器允许单击文件路径并在IDE源编辑器中打开位置。
唯一缺少的特性是输出过滤器,可以将lint描述直接绘制到源代码视图中,这与内置linter一样。不过目前还没有这样的功能。
编辑:我现在使用并推荐PyCharm插件,这在我第一次写这个答案时并不存在。
一位同事把我指给吉特胡的皮林特·皮哈姆。它是一个围绕pylint的包装器,输出格式为pycharm。以下是我的设置方法:
1 2 3 | git clone https://github.com/perses76/pylint-pycharm.git cd pylint-pycharm python setup.py build |
这就产生了
然后,在PyCharm中,使用以下设置创建一个新的外部工具:
1 2 3 4 | Program: path to your installation of pylint-pycharm Arguments: --virtualenv=$PyInterpreterDirectory$/.. $FileName$ Working directory: $FileDir$ Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.* |
现在从工具->外部工具->pylintpycharm运行它。每行输出都将超链接到源代码中的相关位置。
您可以尝试此pylint pycharm插件:
使用pycharm/idea中的pylint提供对python文件的实时和按需扫描。
一旦你安装了它,实时检查就会自动工作。对于点播,您有几个选项,从检查当前打开的文件到扫描整个项目:
(为了透明起见,我是开发商)
关于先前答案的注释。我正在寻找一种方法让Pycharm知道输出语法,这样我就可以直接跳到文件位置。不用额外的工具就可以工作。
pylint可以配置为使用pylintrc文件中的
我把它设定为:
在外部工具设置中,可以将
首先用pip安装pylint:
1 | pip install pylint |
您必须打开"设置>工具>外部工具",然后按Pycharm上的"+"按钮。
下面是一个设置良好的示例。
Roberto Leinardi为PyCharm创建了一个PyLint插件,它真正起作用,并很好地集成到IDE中:
易于从存储库安装,完整说明如下:网址:https://github.com/leinardi/pylint-pycharm
到目前为止,我有一段短暂而愉快的经历!向罗伯托致敬。
多亏了这里的信息和Pycharm更新的文档,我已经能够很好地使用这个项目的虚拟环境(确保任何包都可以部署在虚拟环境中,不需要部署到全球)。
采用之前LKRAIDER提供的,但稍作修改:
确保在虚拟环境中安装pylint。注意,确保在创建虚拟环境时没有选择"继承全局站点包"。如果你这样做,那么皮林特最终将成为全球的一员,而这不会奏效。
添加新的外部工具并配置。这与LKRAIDER提供的稍有不同。对于其中一个,我希望它看起来更像普通的pylint输出,因此我的msg模板(和输出过滤器)有点不同。各自为政。第二个更改对于基于虚拟环境执行pylint更为关键,这是我在其中使用$pyinterpreterdirectory$的程序参数。
1 2 3 4 | 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$: |
皮林的外部工具