每当我尝试在Sublime Text 2(Python 2.7)中构建具有input()或raw_input()的代码时,我都会收到此错误:
EOFError:读取一行时的EOF [以0.1秒完成退出代码1]
我发现一些教程说这是ST无法定位Python的问题,所以我编辑了应该修复它的文件,但无济于事。我仍然得到同样的错误。
这里有什么问题,如何解决?
答案 0 :(得分:0)
ST不是定位Python的问题,而是ST在构建程序时不支持交互性 - Python中的input()
/ raw_input()
,Ruby中的gets
, scanf
和C / C ++中的关联,Java中的Scanner
等。对于编译语言,解决方法是通过处理输入的shell运行程序。这也可以通过Python,Ruby,Perl等解释语言来完成,但对于许多人来说,他们首选的解决方案是使用SublimeREPL
,可通过Package Control获得。这基本上是在Sublime中运行一个交互式Python shell,无论是标准的Python shell还是IPython,我更喜欢这个原因。
SublimeREPL附带了一系列命令,用于获取行,块,选择或整个代码文件,并将它们传递给REPL(必须首先手动启动),然后处理输入和输出。或者,如果你只是测试较小的代码片段,你可以在SublimeREPL中输入并运行它 - 我发现自己经常这样做,这非常有用。