Syntax check via PyLint aborts due to warnings

Komodo Edit nightly build 8.5.5 (August 14) fails to do syntax checking via PyLint if PyLint issues any warning messages to stderr.

The latest version (1.3) of PyLint issues warning messages to stderr for deprecated options. And the previously generated pylintrc file had a few deprecated options (include-ids and symbols).

The warnings (on stderr) from PyLint cause Komodo Edit to return early (aborting the linting) from the function ‘lint_with_text’ in the file “koPythonLinter.py”.

Recommendations for Komodo Edit:

  1. strip out “Warning” messages from the stderr output before deciding to abort the linting due to errors.
  2. Issue a summary error message like “Aborting PyLint syntax checking due to above errors from PyLint” so that it will be clearer what has happened.
    (Currently when you look at the Komodo log file in the above situation, it says “error from PyLint” but then just shows Warning messages so it is very unclear that the linting was aborted.)

@toddw please have a look

Do you have an example of the syntax that was deprecated - thus making it easy for us to reproduce the bug.

Thanks, Todd

As I mentioned above, the previously auto-generated pylintrc file has deprecated options in them - here are the lines that were in the pylintrc file that caused the deprecated warnings:

include-ids=no
symbols=no

So to reproduce the problem, just put those lines in your pylintrc file.

Thanks - I’ve just added a tweak to continue when stderr messages are detected:
https://github.com/Komodo/KomodoEdit/commit/6e2fe5ba0f14806dd4fc2948949cb4c2aa3e0150 (trunk)

Is there an update released for this? I’m on 8.5.4 and don’t see any available updates. Just upgraded Pylint in the virtualenv for a project (actually a dependency did it for me) and it’s stopped working, complaining that “-i is a deprecated option”.

The problem goes away if you remove the deprecated options from your pylintrc file. See my post above (Sept 4) about the two options that caused this problem for me. I think I recall that “-i” is a synonym for ‘include-ids’.
Anyway, have a look at your pylintrc file and edit it.

There was also a fix made (for Komodo 9) to make Komodo ignore unexpected PyLint warnings. You could make the same tweak to your Komodo 8 installation if you wanted:

Cheers,
Todd

That was dense of me, thanks. Never occurred to me it was in the lint file instead of the command line.

Thanks, this fixed the issue. Removing include-ids from my pylint file didn’t make a difference.

Fixed the issue for a while but now it’s gone back to dying again. Komodo 9 shows the same issue (and there’s a bug where the PEP8 checking doesn’t respect the Python interpreter specified in a project’s preferences. I have commented out the line about “–include-ids” and am still seeing warnings about “-i” in the log files for 8 & 9 so I’m guessing it’s the command Komodo uses to run pylint, not my pylint.rc file.