VS Code在python 2.7

时间:2018-02-05 16:06:38

标签: python python-2.7 printing visual-studio-code pylint

  

我在Windows上使用VS Code Version 1.19.3和Python 2.7。

最近pylint(代码分析器)显示错误消息 "E1601:print statement used"

但我不知道为什么!有人能帮我吗?

根据我的知识,print语句是正确的!

是否缺少某个错误或功能?

问候niesel

enter image description here

3 个答案:

答案 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日)),因为在此更新之后我在我的旧项目中发现了同样的问题

bug screenshot

我发现他们的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(不确定这是不是一个好主意)