SyntaxError:编译单个语句时找到的多个语句

时间:2014-01-20 05:27:17

标签: python syntax-error python-3.3

我在Python 3.3中,我只输入这3行:

import sklearn as sk
import numpy as np
import matplotlib.pyplot as plt

我收到了这个错误:

SyntaxError: multiple statements found while compiling a single statement

我可能做错了什么?

编辑:如果有人遇到这个问题,我发现的解决方案是下载Idlex并使用其IDLE版本,它允许多行。

屏幕截图:http://imgur.com/AJSrhhD

4 个答案:

答案 0 :(得分:11)

在shell中,一次不能执行多个语句:

>>> x = 5
y = 6
SyntaxError: multiple statements found while compiling a single statement

你需要逐个执行它们:

>>> x = 5
>>> y = 6
>>>

当您看到正在声明多个语句时,这意味着您将看到一个稍后将执行的脚本。但是在交互式解释器中,你不能一次做多个语句。

答案 1 :(得分:10)

我遇到了同样的问题。这在 mac 上对我有用:

echo "set enable-bracketed-paste off" >> ~/.inputrc

答案 2 :(得分:0)

(部分)实际的解决方法是将事物放入一次性函数中。

粘贴

x = 1
x += 1
print(x)

产生

>>> x = 1
x += 1
print(x)
  File "<stdin>", line 1
    x += 1
print(x)

    ^
SyntaxError: multiple statements found while compiling a single statement
>>>

但是,粘贴

def abc():
  x = 1
  x += 1
  print(x)

有效:

>>> def abc():
  x = 1
  x += 1
  print(x)
>>> abc()
2
>>>

当然,一次过就可以了,对于您可能想做的所有事情都不起作用,等等。但是接下来,转到ipython / jupyter qtconsole可能是下一步最简单的选择。

答案 3 :(得分:0)

长期解决方案是使用另一个 GUI 来运行 Python,例如Emacs 中的 IDLE 或 M-x run-python