6

我安装了最新的 PyDev (2.8.2) 和 pylint (1.0.0)。我试图让 pylint 错误和警告出现在 PyDev 编辑器中。当我启用它时,它似乎什么都不做。当我将它设置为将输出重定向到控制台时,它似乎工作正常(见截图)。

我怎样才能让它工作?

控制台输出

4

3 回答 3

3

pylint 在 PyDev 中不起作用的原因有很多。

确保 PyLint 已配置

这些选项可以在window-> preferences-> pydev->中找到pylint

查看use pylint?

Location of pylint.py (lint.py):单击浏览按钮并选择文件。对于 Debian GNU/Linux 上的我来说,它位于/usr/share/pyshared/pylint/lint.py. 如果你在另一个发行版上,你的包管理器应该有办法向你展示与 pylint 包一起安装的文件。通过 grep 搜索它lint.py

如果所有这些都很好,请确认 、FATALERRORSWARNINGSCONVENTIONS严重性REFACTOR未设置为忽略。

单击OK

给它一分钟,因为 PyDev 可能需要一点时间才能弄清楚 pylint 的东西。然后故意引入一个pylint警告。未定义的简单foo.bar()时间应该会创建一个错误,该错误将在保存文件后显示。foo

确保您的源文件在 PYTHONPATH 上

Project-> Properties->下PyDev - PYTHONPATH查看Source Folders选项卡,如果框中没有任何内容,那就有问题了。通过Add Source Folder按钮将源目录添加到其中。如果您的代码位于项目的根目录中,只需选择项目目录即可。如果它在另一个文件夹下,请选择它。

注意:您只需要选择代码的根目录,而不是项目中的每个文件夹。

检查你的扩展

确保您正在测试的文件具有 .py 扩展名。PyDev 不会为任何没有 .py 扩展名的文件调用 pylint。因此,如果您有一个调用/设置脚本调用您的应用程序的其余部分而没有 .py 扩展名,它不会检查它。

于 2013-10-15T04:57:21.867 回答
1

您的控制台输出显示二进制字符,这可能是文件编码问题。可能是你的 *.py 有 DOS 行尾,如果是这样转换它们(似乎你的盒子是 Linux 的)

dos2unix <your files>

您也可以在命令行上尝试控制台第一行中的命令。这就是我的控制台的样子

PyLint: Executing command line: /usr/lib/python2.7/site-packages/pylint-1.0.0-py2.7.egg /pylint/lint.py --rcfile=$HOME/.pylintrc test.py
PyLint: The stdout of the command line is: ************* Module updateProgress
C: 14, 0: Line too long (89/80) (line-too-long)
C: 26, 0: Trailing whitespace (trailing-whitespace)
C: 40, 0: Trailing whitespace (trailing-whitespace)
C: 42, 0: Trailing whitespace (trailing-whitespace)
于 2013-10-09T12:32:52.950 回答
1

首先确保您已打开自动构建,以便 pylint 在更改后无需额外操作即可工作。然后检查您没有比在指定要使用 pylint 的最大增量的选项中配置的更改更多。当然,如果您还没有在问题过滤器中启用 pylint。认为它必须有帮助。

于 2013-10-08T13:36:20.020 回答