Python脚本在Light Table中无法执行并显示错误
救命啊!我在使用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