Python脚本在Light Table中无法执行并显示错误

5 投票
1 回答
2531 浏览
提问于 2025-04-18 12:31

救命啊!我在使用Light Table的时候,每次运行Python代码都出现这个错误,真是烦人……

 File "C:\Python34\Lib\site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

这是一个包含安装步骤的代码。

1 个回答

3

我对Light Table的部分不太了解,但你提到的错误就像是在Python 2中执行Python 3的print函数时会遇到的错误。在Python 2中,print是一个语句,语法有点特别,而不是一个函数。在Python 3.4的site.py文件的第175-176行大概是这样的(不考虑前面的缩进):

print("Error processing line {:d} of {}:\n".format(n+1, fullname),
      file=sys.stderr)

确实,如果你在Python 2的解释器中执行这个代码,就会出现SyntaxError错误,光标会指向那个=符号:

Python 2.7.8 (default, Jul  3 2014, 06:13:58) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Error processing line {:d} of {}:\n".format(n+1, fullname), file=sys.stderr)
  File "<stdin>", line 1
    print("Error processing line {:d} of {}:\n".format(n+1, fullname), file=sys.stderr)
                                                                           ^
SyntaxError: invalid syntax

我建议你仔细检查一下Light Table的Python插件设置,看看有没有什么问题。你还应该检查一下你的PYTHONPATH环境变量的设置。如果它包含了指向C:\Python34目录的引用,而你正在运行的是Python 2,那可能就是问题的根源。这里有一个在OS X上出现的完全相同的问题,原因是用指向Python 3库目录的PYTHONPATH启动了Python 2:

noether:~ mdickinson$ export PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/
noether:~ mdickinson$ python2.7
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

撰写回答