Оценка отсутствует в SublimeREPL Python

Я пытаюсь заставить SublimeREPL работать с Python. Однако всякий раз, когда я отправляю команду Python в REPL с помощью сочетания клавиш, отображается только вывод из stdout. Оценка команды также должна отображаться, но не отображается. Вот краткий пример, скопируйте и вставьте из вывода в REPL после отправки команд в REPL из исходного кода Python с помощью сочетания клавиш.

>>> print 'This will print out'
This will print out
>>> 'But this will not'
>>> 1+1

Я бы ожидал следующий вывод (запуск вручную из терминала BASH в Python приводит к следующему):

>>> print 'This will print out'
This will print out
>>> 'But this will not'
'But this will not'
>>> 1+1
2

И последнее замечание: вручную ввод команд непосредственно в Sublime Text REPL дает желаемый результат, но гораздо медленнее и неудобнее.

Я запускаю это с помощью SublimeText3 с интерпретатором Python 2.7.5 по умолчанию в Ubuntu 13.10.


person Michael Tingley    schedule 16.04.2014    source источник
comment
возможный дубликат/связанный stackoverflow.com/questions/23115066/   -  person CRABOLO    schedule 28.12.2014


Ответы (1)


Это происходит потому, что REPL на самом деле оценивает ваш код точно так же, как если бы вы поместили все эти команды в файл и запустили его из командной строки — в этом случае он не ведет себя как интерактивный интерпретатор.

Если вы хотите, чтобы REPL вел себя как IDLE, например, вам нужно перенести свой код в него, затем переключиться и запустить его оттуда, просто добавив < kbd>Shift на вашу последовательность клавиш. Итак, если ранее вы использовали Ctrl,, S для оценки выбора, просто используйте Ctrl Вместо этого нажмите Shift,, S, чтобы перенести ваш выбор в REPL. Переключите вкладки и нажмите Enter, и все должно работать так, как вы ожидаете.

person MattDMo    schedule 16.04.2014
comment
Есть ли в любом случае одна привязка клавиш для передачи и оценки выражения? Мне нравится, как в RStudio Ctrl+Enter переносит, оценивает и даже перемещает курсор в следующий раз... - person Jeff Erickson; 02.11.2015
comment
@JeffErickson в пользовательских настройках SublimeREPL установите "show_transferred_text": true, что означает, что SublimeREPL попытается добавить оцениваемый код к выходным данным REPL перед оценкой. Это в основном передача и оценка всех сразу. - person MattDMo; 02.11.2015