No config file found, using default configuration
************* Module sendmail
C:153,0: Line too long (146/80)
C:156,0: Line too long (105/80)
C:190,0: Line too long (88/80)
F: 8,0: Unable to import 'email.MIMEMultipart'
E: 8,0: No name 'MIMEMultipart' in module 'email'
F: 9,0: Unable to import 'email.MIMEBase'
E: 9,0: No name 'MIMEBase' in module 'email'
E: 10,0: No name 'Encoders' in module 'email'
R: 47,0:sendmail: Too many arguments (7/5)
R: 47,0:sendmail: Too many local variables (17/15)
W: 74,4:sendmail: No exception type(s) specified
W: 95,12:sendmail: No exception type(s) specified
R:142,0:commandline_handler: Too many branches (15/12)
请注意无法导入,但我的脚本运行正常。这是有问题的代码:
#!/usr/local/bin/python
''' sendmail module.
Can be used to send mail, attachments, or otherwise.
'''
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import Encoders
import getopt
import os
import smtplib
import sys
def main():
当我运行该程序时它运行良好,但为什么 pylint 会报错?
我通过简单的操作来运行 pylint
pylint sendmail.py
我从 http://www.logilab.org/ 安装了 pylint 和 logilab 库
python 64 位和 32 位都以同样的方式提示,使用 python 2.6.6。
最佳答案
各种大写名称在 Python 2.5 中被重命名。参见 http://docs.python.org/release/2.7/library/email.html#package-history了解详情。基本 email
包的 __init__.py
做了一些技巧来让旧名称在 python 中工作,但是因为 pylint 有自己独立的导入方法,所以这些技巧不会在 pylint 中工作。
切换到新名称,你应该没问题:
from email.mime import multipart as MIMEMultipart
from email.mime import base as MIMEBase
from email import encoders as Encoders
例如。
关于python - Pylint 给出错误,但代码工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10345578/