Skip to content Skip to sidebar Skip to footer

Pylint Not Recognizing Some Of The Standard Library

I'm using pylint + pydev, with python 2.6. I have a module with just this line of code from email import Message Now when I try to run this module it runs fine. But pylint reports

Solution 1:

realise this is an old question, but the correct answer is that the older ways of invoking what you need, which use the "import hackery" that Richie describes, have long been deprecated (despite still appearing in many tutorials). If you use the new ways, you'll be writing better code and pylint won't complain.

e.g.

from email importMessagefrom email importHeaderfrom email.MIMETextimportMIMEText

should be

from email.messageimportMessagefrom email.headerimportHeaderfrom email.mime.textimportMIMEText

etc.

Solution 2:

I like pylint, but I do find I have to use a lot of # pylint: disable-msg=E0611 and the like to make it shut up in cases that are perfectly correct but confuse it (for example, like in this case, due to email's playing with import tricks).

Solution 3:

The email module uses some horrible import hackery, which has bitten me in the past. You can do this:

>>>from email import Message

but you can't do this:

>>> import email
>>> email.Message
Traceback(most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'module' object has no attribute 'Message'

I realise that's not very helpful for making pylint work, but it might help to explain the problem.

Post a Comment for "Pylint Not Recognizing Some Of The Standard Library"