How can I make the PyDev editor selectively ignore errors?

Question:

I’m using PyDev under Eclipse to write some Jython code. I’ve got numerous instances where I need to do something like this:

import com.work.project.component.client.Interface.ISubInterface as ISubInterface

The problem is that PyDev will always flag this as an error and say “Unresolved import: ISubInterface”. The code works just fine, it’s just that I’d rather not have these little white/red X-marks next to my code and have my Problems tab littered with these errors.

Is there a way I can add a magic comment or something like that to the end of the line to make PyDev ignore the false error, similar to how you can sprinkle comments like “# pylint: disable-msg=E1101” to make PyLint ignore errors?

Also, there’s a possibility I’m just doing it wrong when it comes to using Java interfaces in Jython. In which case a little bit of guidance would be very much appreciated.

Asked By: Pridkett

||

Answers:

You can add a comment

#@UnresolvedImport
#@UnusedVariable

So your import becomes:

import com.work.project.component.client.Interface.ISubInterface as ISubInterface #@UnresolvedImport

That should remove the error/warning. There are other comments you can add as well.

Answered By: deets

Add the hash character # at the end of the line then with the cursor on the flagged error, press Ctrl-1. One of the options in the menu will be something like @UndefinedVariable. Adding this comment will cause PyDev to ignore the error.

Answered By: Kevin

You can make the ignore like the other posts suggest, but the real problem is that Pydev cannot find that class… If you add a .jar that contains that class to your PYTHONPATH it should be able to resolve it (or if you have a Java project that has that class, you should be able to mark that project as a Pydev project and add its bin folder to the project PYTHONPATH — in which case that class should be found too).

Answered By: Fabio Zadrozny

It is not a PYTHONPATH issue. It is related to importing/using static class-internal members of a Java class. I am getting the same sort of thing all over the place e.g. when trying to use constants in java.awt.Color:

import java.awt.Color as Color
borderColor = Color.BLACK # get "Undefined variable from import: BLACK" error

There is no way I’ve found to import Color.BLACK in this case. Thanks to iceman for at least pointing out the #@UndefinedVariable flag. That helps a lot. Note also that this is NOT a jython problem, the code runs just fine. It’s just an issue with PyDev.

Answered By: Tom Green
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.