我在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版本,它允许多行。
答案 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
。