[英]How to run Pylint with PyCharm
我想在我正在处理的 Python 项目的整个项目目录中将 Pylint 配置为外部工具。 我尝试将存储库用作带有__init__.py
和不带的模块,但无论如何它都不起作用。
我在设置 Pylint 以与 PyCharm 一起运行时遇到了困难。 我知道我应该将它作为外部工具运行,但是这些设置让我感到困惑。
他们文档中的权威来源已损坏,因此我也无法检查。
您可以按照以下步骤将 Pylint 设置为与 PyCharm 一起使用:
安装pylint
:
$ pip install 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
使用菜单File → Settings打开 PyCharm 设置窗口,然后导航到侧栏中的菜单Tools → External Tools 。 (或搜索“外部工具”)
通过单击+
号并相应地填写字段来设置外部工具。 在Program 中使用运行which pylint
时获得的路径。 对于其他值,您可以使用图像中的相同值。
运行pylint
从菜单工具→外部工具→pylint的:
在 PyCharm 终端中查看您的输出
有关更多详细信息,请参阅使用 PyCharm进行Pylinting 。
如果您想使用 Pylint 检查您的整个项目或特定文件或目录,您可以右键单击您的项目根目录、文件或目录,然后激活External Tools → pylint ,如下所示。
因为我没有找到可用的现成设置,这些是我在 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 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$\:.*
现在从菜单 Tools* → External Tools → PyLintPyCharm运行它。 每行输出都将超链接到源代码中的相关位置。
关于之前答案的注释。 我正在寻找一种方法让 PyCharm 知道输出语法,这样我就可以直接跳转到文件位置。 无需使用其他工具即可工作。
可以使用 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 仍无法识别该列。 但是拥有文件和行对我来说就足够了。
Roberto Leinardi 为 PyCharm 创建了一个 Pylint 插件,它确实有效并能很好地集成到 IDE 中:
易于从存储库安装,完整说明如下:
到目前为止,我有一个短暂但快乐的经历! 向罗伯托致敬。
多亏了这里的信息和来自 PyCharm 的更新文档,我已经能够很好地工作,还可以为项目使用虚拟环境(确保任何包都可以部署在虚拟环境中并且不需要部署全球)。
采用lkraider 之前提供的内容,但稍作修改:
确保在虚拟环境中安装 Pylint。 请注意,请确保在创建虚拟环境时没有选择“继承全局站点包”。 如果你这样做,那么 Pylint 最终将是全球性的,这将不起作用。
添加新的外部工具并配置。 这与 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$:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.