Resolving import errors reported by PyLint in modules using Python.NET
Benjamin Kaplan
benjamin.kaplan at case.edu
Fri Aug 9 01:47:43 EDT 2013
On Thu, Aug 8, 2013 at 10:17 PM, <adam.preble at gmail.com> wrote:
> PyLint can't figure out imports of .NET code being referenced in my Python scripts that use Python.NET. I can kind of see why; you have to evaluate some clr.AddReference calls for the imports to even succeed. I wonder if I have any recourse. Generally, to import a DLL you have to do a few things. I guess for an example I'll import a .NET string:
>
> ----
> import clr # Python .NET common-language runtime module, the important part of it all
>
> clr.AddReference("System")
> from System import String # .NET System.String
>
> can = String("Spam")
> ----
>
> PyLint is not amused:
> F: 4, 0: Unable to import 'System' (import-error)
>
> I wondered if there were any tricks to make it work. I don't want to just ignore import-error, either by explicitly telling pylint to ignore them, or be getting complacent in seeing them all the time. I am also kind of curious if PyLint will expose new problems if it's able to figure out more things after successfully passing the imports. I wouldn't really know.
Are you using Python.NET or IronPython? IronPython is reasonably well
supported, and it looks like there's a patch you can use to get PyLint
working on it (see
http://mail.python.org/pipermail/ironpython-users/2012-June/016099.html
). Not sure what's going on with Python.NET
More information about the Python-list
mailing list