我使用pylint + pydev,與python 2.6。 我有一個模塊,只是這行代碼pylint不認識一些標準庫
from email import Message
現在,當我嘗試運行此模塊運行良好。但pylint的報告錯誤:
ID: E0611 No name 'Message' in module 'email'
雖然它的存在...... 任何想法,爲什麼?
我使用pylint + pydev,與python 2.6。 我有一個模塊,只是這行代碼pylint不認識一些標準庫
from email import Message
現在,當我嘗試運行此模塊運行良好。但pylint的報告錯誤:
ID: E0611 No name 'Message' in module 'email'
雖然它的存在...... 任何想法,爲什麼?
我喜歡pylint,但是我發現我必須使用很多# pylint: disable-msg=E0611
之類的東西才能讓它在完全正確但迷惑的情況下閉嘴(例如,在這種情況下,由於email
'玩弄進口技巧)。
我在這裏說這是'email'的錯,因爲它不應該使用導入鉤子。 – 2016-11-16 04:35:05
該email
模塊使用一些可怕的進口hackery,它已經咬傷我過去。你可以這樣做:
>>> from email import Message
,但你不能做到這一點:
我知道這是不是讓pylint的工作非常有幫助的,但它可能有助於解釋這個問題。
你使用的是什麼版本? 'email.Message'適用於Debian,使用2.5和2.6 – Tshepang 2010-07-06 19:32:01
認識到這是一個老問題,但正確的答案是,使用Richie描述的「導入hackery」來調用所需內容的較早方法早已被廢棄(儘管仍然出現在許多教程中)。如果你使用新的方式,你會寫更好的代碼和pylint
不會抱怨。
例如
from email import Message
from email import Header
from email.MIMEText import MIMEText
應該是
from email.message import Message
from email.header import Header
from email.mime.text import MIMEText
等
另外隨着'lxml.etree'發生。 – pfctdayelise 2011-03-29 23:34:28