По сути, после запуска и запуска Sublime text 2 и sumblimeREPL у меня возникают проблемы при отправке кода. Например, на скриншоте ниже я ввожу код слева построчно (ctrl+,l) или блоком/выбором, но ничего не появляется, кроме вывода. In[3]-In[6] я пытался запустить только строки x и y. Это предполагаемое поведение? Я бы предположил, что да, за исключением того, что весь вывод отображается на входных строках. Единственный другой язык, который я пробовал до сих пор, - это R, и у него нет этих проблем. Также это одна и та же проблема как в python, так и в ipython. Любые идеи?
Ввод отсутствует, вывод в строке ввода в sublimerepl python
Ответы (2)
Во-первых, я настоятельно рекомендую перейти на IPython 1.1.0, поскольку, хотя проблема, скорее всего, не связана со старой версией, она оно стоит обновления, особенно если вы часто его используете.
Если вы откроете Preferences -> Package Settings -> SublimeREPL -> Settings - Default
, вы заметите, что последняя строка — "show_transferred_text": false
. Я работаю в OS X, но когда для этого параметра установлено значение false
, я вижу то же поведение, что и вы — результат выражения, напечатанного в строке In [#]
, с другой пустой строкой, следующей за ней, готовой для следующего выражения. Однако, если я присвою этой переменной значение true
(скопировав все содержимое файла, открыв Preferences -> Package Settings -> SublimeREPL -> Settings - User
, вставив все туда, затем изменив настройки и сохранив), то при переносе строки я наблюдаю другое поведение: выражение печатается на In [#]
строка, а результат печатается ниже.
Причина, по которой вы не увидели никаких результатов при оценке назначений x
и y
, заключается в том, что по умолчанию ничего не возвращается.
В качестве объяснения того, почему Python/IPython REPL работают таким образом, а R — нет, можно объяснить то, что SublimeREPL очень модульный и по большей части представляет собой просто тонкую оболочку, окружающую нативный код. Таким образом, точный механизм передачи и отображения данных может отличаться, например, от Python к Ruby, от R к Clojure, и вы можете наблюдать немного отличающееся поведение.
Я хотел что-то более интерактивное. Я хотел, чтобы In[#]
с текстом сопровождалось Out[#]
с выводом. Я также не хотел переключаться со своего исходного кода на REPL только для того, чтобы получить проклятое Out[#]
.
Например, вот так... Решение, которое я придумал, намного сложнее, чем сообщение выше, но вы получаете то интерактивное ощущение, которое возникает при использовании R с Sublime Text. Вы можете найти мое решение здесь: https://stackoverflow.com/a/27562036/3987905
Обязательно сохраните "show_transferred_text": false
. Включение его, похоже, испортит плагин. Надеюсь, поможет.