2016-11-22 6 views
1

Ich verwende die neuesten ipython 5.1 und Python 3, habe aber Probleme beim direkten Einfügen mehrerer Zeilen in die Befehlszeile. Ich arbeite an CentOs.Mehrere Zeilen können nicht im aktuellen iPython eingefügt werden

Kann jemand versuchen, die Klasse Ente auf dem Wiki Einfügen (https://en.wikipedia.org/wiki/Duck_typing) und sehen, ob Sie einen Fehler bekommen:

class Duck: 
    def quack(self): 
     print("Quaaaaaack!") 
    def feathers(self): 
     print("The duck has white and gray feathers.") 

Alle diese richtig eingerückt sind und in meiner .py Datei und starten Sie fein eingefügt werden . Aber wenn ich es zu ipython einfügen, erhalte ich immer diese Fehlermeldung:

In [8]: class Duck: 
    ...:   def quack(self): 
    ...:     print("Quaaaaaack!") 
    ...:    def feathers(self): 
    File "<ipython-input-8-aca228a732db>", line 4 
    def feathers(self): 
        ^
IndentationError: unindent does not match any outer indentation level 

editierte:

Sowohl meine% Paste und% cpaste funktionieren nicht. Ich habe die Tinker-Bibliothek installiert, wie unten zu sehen:

[[email protected] my_env]$ rpm -q tkinter 
tkinter-2.7.5-39.el7_2.x86_64 

Aber% Paste zeigt immer eine Fehlermeldung:

In [10]: %paste 
ERROR:root:Getting text from the clipboard on this platform requires Tkinter. 

% cpaste funktioniert auch nicht, ist es nicht etwas auf den Bildschirm drucken :

In [8]: %cpaste 
Pasting code; enter '--' alone on the line to stop or use Ctrl-D. 
:-- 

In [9]: 

editierte:

[[email protected] my_env]$ sudo yum install python3-tk 
[sudo] password for abigail: 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
* base: mirror.supremebytes.com 
* epel: mirrors.kernel.org 
* extras: mirror.supremebytes.com 
* ius: mirrors.kernel.org 
* nux-dextop: li.nux.ro 
* rpmfusion-free-updates: mirror.web-ster.com 
* rpmfusion-nonfree-updates: mirror.web-ster.com 
* updates: mirror.supremebytes.com 
No package python3-tk available. 
Error: Nothing to do 

python3-tk nicht auf CentOS 7 verfügbar?

+0

Verwenden Sie% paste oder% cpaste magic. –

+0

@SergeyGornostaev, siehe weitere Informationen. – user697911

Antwort

1

Für die Verwendung von %paste müssen Sie python3-tk installieren. Und ich nehme an, Sie haben falsch verstanden, wie %cpaste funktioniert. Führen Sie es aus, fügen Sie Ihren Code ein, drücken Sie die Eingabetaste, geben Sie -- ein und drücken Sie erneut die Eingabetaste.

+0

Bitte beachten Sie mein Update: Kein Paket python3-tk verfügbar. – user697911

+0

Zeige mir die Ausgabe von 'which python3' und' which ipython'. Hast du sie von rpm installiert? –

+0

Ich bin auf CentOS und es stellt sich heraus, dass der Befehl "sudo yum install -y python3-tkinter" ist, während auf Ubutu ist es "sudo yum install -y python3-tk". Ich hatte versucht, letzteres zu benutzen. – user697911

Verwandte Themen