В ipython >= 0.11 требуется команда% paste для вставки отступов. Однако, если я запускаю оболочку ipython в удаленном терминале, это означает, что буфер% paste относится к удаленной машине, а не к локальной машине. Есть ли способ обойти это?
Ipython:% наклеить соединение ssh
Ответ 1
Я думаю, что это именно то, для чего %cpaste
(я всегда забываю обо всех вещах, которые делает IPython). %cpaste
переходит в состояние, позволяющее вставлять уже отформатированный или отступырованный код, и он лишит ведущие отступы и подсказки, поэтому вы можете копировать/вставлять отступы из файлов или даже из интерактивного сеанса Python, включая ведущие >>>
или In [1]
, который будет удален.
Ответ 2
Не блестящее решение, но я думаю, что это сработает:
Используйте %autoindent
, чтобы отключить автоопределение, введите if True:
и нажмите enter. Затем вставьте свой отложенный код.
Я думаю, что должно быть возможно написать расширение IPython, чтобы справиться с этим лучше. Я постараюсь разобраться в этом. Я сделал проблему.
Если вы много используете IPython, вы можете захотеть, чтобы работала новая архитектура ядра/клиента - должно быть возможно туннелировать соединения через SSH, поэтому вы можете использовать консоль Qt на своей локальной машине, разговаривая с ядром на сервере. Но это может занять немного времени, чтобы войти.