16

Python 2.6でpylint + pydevを使用しています。このコード行だけのモジュールがあります

from email import Message

このモジュールを実行しようとすると、正常に動作します。しかし、pylint はエラーを報告します:

ID: E0611 No name 'Message' in module 'email'

存在しますが...理由はわかりますか?

4

3 に答える 3

15

これは古い質問だと思いますが、正しい答えは、リッチーが説明する「インポートハッカー」を使用する、必要なものを呼び出す古い方法は長い間非推奨になっているということです (まだ多くのチュートリアルに表示されているにもかかわらず)。新しい方法を使えば、より良いコードを書くこと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

于 2011-06-07T06:53:58.123 に答える
12

私は pylint が好きですが、# pylint: disable-msg=E0611完全に正しいが混乱を招くような場合 (たとえば、この場合のように、emailがインポート トリックで遊んでいるため)を黙らせるために、多くのなどを使用する必要があることがわかりました。 .

于 2009-08-22T18:40:45.847 に答える