首页 文章

如何使用PyCharm运行Pylint

提问于
浏览
39

我想在我的整个项目目录中将pylint配置为我的整个项目目录中的一个外部工具,我试图将该存储库用作 __init__.py 和没有的模块,并且它不能正常工作 .

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

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

6 回答

  • 5

    您可以按照以下步骤设置 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 . (或搜索“外部工具”)

    PyCharm External tools

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

    PyCharm Edit Tool

    • Tools -> External Tools -> pylint 运行 pylint

    PyCharm External Tools

    • 在PyCharm终端中查看输出

    PyCharm terminal

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

    Update:

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

    PyCharm check entire project

  • 2

    因为我没有找到可用的现成设置,所以这些是我在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

  • 17

    一位同事在GitHub上向我指出了pylint-pycharm . 它's a wrapper around pylint with output formatted for PyCharm. Here'我是如何设置它的:

    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

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

  • 72

    关于以前答案的说明 . 我正在寻找一种让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 结合使用,所以我得到了这个:
    enter image description here
    尽管已配置了PyCharm,但它无法识别该列 . 但拥有文件和行对我来说已经足够了 .

  • 3

    首先用pip安装pylint:

    pip install pylint
    

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

    这是一个设置良好的example .

  • 5

    你可以试试这个Pylint PyCharm plugin

    Pylint PyCharm screenshot

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

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

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

相关问题