我想将 Pylint 配置为我正在处理的 Python 项目的整个项目目录中的外部工具。我尝试将存储库用作带有 __init__.py
和不带 __init__.py
的模块,但无论哪种方式都无法正常工作。
我很难将 Pylint 设置为与 PyCharm 一起运行。我知道我应该将它作为外部工具运行,但是这些设置让我感到困惑。
他们文档的权威来源已损坏,因此我也无法检查。
您可以按照以下步骤设置 Pylint 以使用 PyCharm:
安装 pylint: $ pip install pylint 找到你的 pylint 安装文件夹: $ which pylint # MacOS/Linux /usr/local/bin/pylint # 这只是一个可能的输出 - 检查你的 $ where pylint # Windows %LocalAppData %\Programs\Python\Python36-32\Scripts\pylint.exe # 可能的位置 使用菜单 File → Settings 打开 PyCharm 设置窗口,然后导航到侧边栏中的菜单 Tools → External Tools。 (或搜索“外部工具”)通过单击 + 号并相应地填写字段来设置外部工具。在程序中使用运行 which pylint 时获得的路径。对于其他值,您可以使用图像中的相同值。从菜单 Tools → External Tools → pylint 运行 pylint:在 PyCharm 终端中查看您的输出
有关详细信息,请参阅Pylinting with PyCharm。
如果要使用 Pylint 检查整个项目或特定文件或目录,可以右键单击项目根、文件或目录,然后激活外部工具 → pylint,如下所示。
https://i.stack.imgur.com/AVF3A.png
因为我没有找到可用的现成设置,所以这些是我在 macOS 上的 PyCharm CE 2018.1 中使用的设置:
1 - pip install pylint
在您的项目 virtualenv 或全局
- 添加新的外部工具并配置:
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 所做的那样。不过目前没有这样的功能。
https://i.stack.imgur.com/cXBb3.png
您可以试试这个 Pylint PyCharm plugin:
https://i.stack.imgur.com/ExItq.png
它使用 PyCharm/IntelliJ IDEA 中的 Pylint 提供 Python 文件的实时和按需扫描。
安装后,实时检查会自动运行。对于按需,您有几个选项,从仅检查当前打开的文件到扫描整个项目:
https://i.stack.imgur.com/Vi9Ze.png
(只是为了透明起见,我是开发人员。)
我现在使用并推荐我第一次写这个答案时不存在的 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$\:.*
https://i.stack.imgur.com/syZgy.png
现在从菜单 Tools* → External Tools → PyLintPyCharm 运行它。每行输出都将超链接到源代码中的相关位置。
关于前面答案的注释。我正在寻找一种让 PyCharm 了解输出语法的方法,以便我可以直接跳转到文件位置。这无需使用其他工具即可工作。
可以使用 pylintrc 文件中的 msg-template
选项或 CLI 选项 --msg-template
将 Pylint 配置为以特定格式输出消息。
我将其设置为:msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'
https://i.stack.imgur.com/bQQG5.png
msg-template
和 Output filters
的完整解决方案,但未检测到该列。也许还有其他问题,您能查明问题吗?我正在使用 PyCharm 2018.1.2。
首先使用 pip 安装 Pylint:
pip install pylint
您必须打开“设置 → 工具 → 外部工具”,然后在 PyCharm 上按“+”按钮。
以下是具有良好设置的 an example。
pylint
。我已将 PyCharm 指向我的虚拟环境的 python 解释器,它似乎工作正常。不过,我对 pylint
很陌生,所以也许您指的是一些我不知道的特定功能。
Roberto Leinardi 为 PyCharm 创建了一个 Pylint 插件,它确实可以很好地集成到 IDE 中:
易于从存储库安装,完整说明如下:
到目前为止,我有一个短暂但快乐的体验!向罗伯托致敬。
多亏了这里的信息和 PyCharm 的更新文档,我已经能够让它很好地工作,也可以使用项目的虚拟环境(确保任何包都可以部署在虚拟环境中并且不需要部署全球)。
采用 lkraider provided earlier,但稍作修改:
确保在虚拟环境中安装 Pylint。注意,确保在创建虚拟环境时没有选择“继承全局站点包”。如果你这样做了,那么 Pylint 最终将成为全球性的,这将不起作用。添加一个新的外部工具并配置。与 lkraider 提供的相比,这略有不同。一方面,我希望它看起来更像正常的 Pylint 输出,因此我的 msg 模板(和输出过滤器)有点不同。各有各的。第二个变化对于基于虚拟环境执行 Pylint 来说更为关键。那是我使用 $PyInterpreterDirectory$ 的程序参数。程序:$PyInterpreterDirectory$/pylint 参数:“--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'”--output-format =colorized "$FilePath$" 工作目录:$ProjectFileDir$ 输出过滤器:$FILE_PATH$:\s*$LINE$\:\s*$COLUMN$:
不定期副业成功案例分享
pylint
在您的机器中的安装位置。