Ik zit in Python 3.3 en ik voer alleen deze 3 regels in:
import sklearn as sk
import numpy as np
import matplotlib.pyplot as plt
Ik krijg deze foutmelding:
SyntaxError: multiple statements found while compiling a single statement
Wat kan ik verkeerd doen?
Bewerken: als iemand deze vraag tegenkomt, was de oplossing die ik vond om Idlex te downloaden en de IDLE-versie te gebruiken, die meerdere regels toestaat.
Screenshot: http://imgur.com/AJSrhhD
Antwoord 1, autoriteit 100%
In de shell kun je niet meer dan één instructie tegelijk uitvoeren:
>>> x = 5
y = 6
SyntaxError: multiple statements found while compiling a single statement
Je moet ze één voor één uitvoeren:
>>> x = 5
>>> y = 6
>>>
Als je ziet dat meerdere instructies worden gedeclareerd, betekent dit dat je een script ziet dat later wordt uitgevoerd. Maar in de interactieve tolk kunt u niet meer dan één uitspraak tegelijk doen.
Antwoord 2, autoriteit 88%
Ik had hetzelfde probleem. Dit werkte voor mij op mac:
echo "set enable-bracketed-paste off" >> ~/.inputrc
Antwoord 3, autoriteit 19%
Een (gedeeltelijke) praktische oplossing is om dingen in een wegwerpfunctie te plaatsen.
Plakken
x = 1
x += 1
print(x)
resulteert in
>>> x = 1
x += 1
print(x)
File "<stdin>", line 1
x += 1
print(x)
^
SyntaxError: multiple statements found while compiling a single statement
>>>
Echter, plakken
def abc():
x = 1
x += 1
print(x)
werkt:
>>> def abc():
x = 1
x += 1
print(x)
>>> abc()
2
>>>
Natuurlijk is dit OK voor een snelle eenmalige actie, het werkt niet voor alles wat je zou willen doen, enz. Maar ga dan naar ipython
/ jupyter qtconsole
is waarschijnlijk de volgende eenvoudigste optie.
Antwoord 4, autoriteit 6%
Een oplossing voor de lange termijn is om gewoon een andere GUI te gebruiken voor het uitvoeren van Python, b.v. IDLE of M-x run-python
in Emacs.