2016-11-22 2 views
1

Я использую новейшие ipython 5.1 и python 3, но у меня проблемы с непосредственным вводом нескольких строк в командную строку. Я работаю над CentOs.Невозможно вставить несколько строк в последнем iPython

Может кто-нибудь попробовать вставить класс Duck на вики (https://en.wikipedia.org/wiki/Duck_typing) и посмотреть, можно ли получить какую-либо ошибку:

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

Все это правильно отступом и может быть вставлен в мой .py файл и работать нормально , Но когда я вставить его в IPython, я всегда получаю эту ошибку:

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 

Editted:

И мой% пасты и% cpaste не работают. Я установил библиотеку Тинкер, как показано ниже:

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

Но% паста всегда отображает сообщение об ошибке:

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

% cpaste не работает, либо, он не печатает ничего на экране :

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

In [9]: 

Editted:

[[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 недоступен на CentOS 7?

+0

Используйте% paste или% cpaste magic. –

+0

@SergeyGornostaev, см. Дополнительную информацию. – user697911

ответ

1

Для использования %paste вам необходимо установить python3-tk. И я думаю, вы неправильно поняли, как работает %cpaste. Запустите его, вставьте код, нажмите Enter, введите --, нажмите Enter еще раз.

+0

См. Мое обновление: нет пакета python3-tk. – user697911

+0

Покажите мне вывод 'which python3' и' which ipython'. Вы установили их из rpm? –

+0

Я нахожусь в CentOS, и получается, что команда «sudo yum install -y python3-tkinter», а на Ubutu это «sudo yum install -y python3-tk». Я пытался использовать последнее. – user697911