Python2.7运行NVMain时print无需括号为何报缺少括号错误
NVMain运行Python报错问题解决方案
错误触发的核心原因
你遇到的print缺少括号报错,本质上和Python2.7的语法特性不冲突,常见触发场景有两种:
- 实际运行时调用的是Python3解释器
你看到的「Missing parentheses in call to 'print'」是Python3专属的错误提示,Python2.7不会输出该类报错。大概率是系统环境中默认python命令绑定的是Python3版本,或是NVMain的运行脚本首行shebang指定了Python3解释器,哪怕你本地安装了Python2.7,实际执行脚本时调用的还是Python3环境。
修复方式:运行脚本时显式指定Python2.7解释器,将运行命令改为python2.7 对应脚本路径;同时检查NVMain运行脚本的首行配置,将#!/usr/bin/env python3修改为#!/usr/bin/env python2.7即可。 - 脚本头部引入了
print_function未来特性
若要运行的Python脚本头部存在from __future__ import print_function语句,就算是Python2.7环境也会强制将print转为函数用法,必须加括号调用,否则会触发语法错误。
修复方式:要么删除该引入语句,要么将脚本中所有print调用修改为带括号的函数用法。
报错参考截图

内容的提问来源于stack exchange,提问作者Learning
相关产品推荐
相关产品推荐

