我安装了最新的 PyDev (2.8.2) 和 pylint (1.0.0)。我试图让 pylint 错误和警告出现在 PyDev 编辑器中。当我启用它时,它似乎什么都不做。当我将它设置为将输出重定向到控制台时,它似乎工作正常(见截图)。
我怎样才能让它工作?
pylint 在 PyDev 中不起作用的原因有很多。
这些选项可以在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
。
如果所有这些都很好,请确认 、FATAL
、ERRORS
、WARNINGS
和CONVENTIONS
严重性REFACTOR
未设置为忽略。
单击OK
。
给它一分钟,因为 PyDev 可能需要一点时间才能弄清楚 pylint 的东西。然后故意引入一个pylint警告。未定义的简单foo.bar()
时间应该会创建一个错误,该错误将在保存文件后显示。foo
在Project
-> Properties
->下PyDev - PYTHONPATH
查看Source Folders
选项卡,如果框中没有任何内容,那就有问题了。通过Add Source Folder
按钮将源目录添加到其中。如果您的代码位于项目的根目录中,只需选择项目目录即可。如果它在另一个文件夹下,请选择它。
注意:您只需要选择代码的根目录,而不是项目中的每个文件夹。
确保您正在测试的文件具有 .py 扩展名。PyDev 不会为任何没有 .py 扩展名的文件调用 pylint。因此,如果您有一个调用/设置脚本调用您的应用程序的其余部分而没有 .py 扩展名,它不会检查它。
您的控制台输出显示二进制字符,这可能是文件编码问题。可能是你的 *.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)
首先确保您已打开自动构建,以便 pylint 在更改后无需额外操作即可工作。然后检查您没有比在指定要使用 pylint 的最大增量的选项中配置的更改更多。当然,如果您还没有在问题过滤器中启用 pylint。认为它必须有帮助。