我在Windows上使用VS Code Version 1.19.3和Python 2.7。
最近pylint(代码分析器)显示错误消息
"E1601:print statement used"
但我不知道为什么!有人能帮我吗?
根据我的知识,print语句是正确的!
是否缺少某个错误或功能?
问候niesel
答案 0 :(得分:14)
警告来自pylint,这对于像python这样松散语法的无类型语言来说是一个非常有用的工具。由于您使用python 2.x进行编程,因此print非常有效,我建议您将文件放在名为.pylintrc
的repo的根目录中,并使用它来配置pylint。
要禁用打印警告并将其他所有内容保留为默认值,请在.pylintrc
文件中输入以下两行:
[MESSAGES CONTROL]
disable=print-statement
您还需要通过打开工作区或用户设置告诉Visual Studio代码使用您的配置文件并添加一个:
{
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": [
"--rcfile=/path/to/.pylintrc"
]
}
更多选项
要了解可用的配置选项,请打开终端/提示符并运行此命令以生成示例配置文件:
pylint --generate-rcfile > sample_pylintrc
答案 1 :(得分:7)
问题是,从print语句改为print函数并没有多大帮助。所以看来,它是VS Code Python模块中的一些错误(2018。1(2018年2月1日)),因为在此更新之后我在我的旧项目中发现了同样的问题
我发现他们的github
上有错误提示PS:vscode-python自2018.1以来改变了pylint选项。为了返回旧行为,您可以为工作空间或用户空间禁用 python.linting.pylintUseMinimalCheckers 选项。
答案 2 :(得分:0)
这不是一个错误本身,只是PyLint抱怨那些遗留的陈述。 PyLint还会抱怨逗号之前缺少空格,这种风格错误。
PyLint会在那里警告你可能存在的问题。运行python 3时你的代码会中断,所以它会在它发生之前发出警告。
请注意print
是python 2.x中的一个语句(解释了该消息),并成为python 3.x中的函数。
通过更改为:
来修复它print("test")
因为它不是tuple
,所以它的工作正常并且对于所有版本的python都完全相同,并且PyLint将停止抱怨。
你也可以完全摆脱PyLint:Windows 10 - Visual Studio Code - removing pylint(不确定这是不是一个好主意)