VS Code 1.19.3中Python 2.7的print语句被pylint报E1601错误求助
关于Pylint报E1601错误的原因与解决办法
嗨,我之前也碰到过类似的情况,这大概率不是Pylint的bug,而是VS Code和Pylint的版本配置不匹配导致的误报,下面给你拆解原因和解决步骤:
核心原因
Pylint本身是支持Python 2.7的,但如果它默认以Python 3的规范来检查你的代码,就会把Python 2里合法的print语句(比如print "hello")判定为错误——因为Python 3里print是函数,必须写成print("hello")。
解决办法
1. 给Pylint指定Python 2.7版本
在VS Code的设置里,给Pylint加上版本参数,让它按Python 2.7的规则检查:
- 打开VS Code的设置(快捷键
Ctrl+,) - 搜索
python.linting.pylintArgs - 添加以下配置:
"python.linting.pylintArgs": [ "--python-version=2.7", "--py2" ]
2. 确认VS Code选中的是Python 2.7解释器
VS Code左下角状态栏会显示当前使用的Python解释器,点击它切换到你的Python 2.7环境(比如Python 2.7.x 64-bit),确保Pylint基于这个解释器的规范工作。
3. 检查Pylint版本兼容性
如果你的Pylint版本太新,可能对Python 2的支持有所弱化,可以在终端运行pylint --version查看版本,要是版本过高(比如>=2.0),可以考虑安装适配Python 2的Pylint版本:
pip install pylint==1.9.5
这样调整后,Pylint就会正确识别Python 2.7里的print语句,不会再报E1601错误啦。
内容的提问来源于stack exchange,提问作者Georg Gutsche
相关产品推荐
相关产品推荐

