emacs python-mode: укажите, в какую оболочку python отправлять команды - PullRequest
3 голосов
/ 27 ноября 2011

Ответ на этот вопрос - если у меня в emacs запущены две оболочки Python, как я могу указать, какие команды оболочки из каждого буфера сценариев Python отправляются?Я подозреваю, что это как-то связано с python-buffer и python-set-proc, но установка этих переменных на имя оболочки, по-видимому, не является решением.

Edit : фактически, так как я используюpython-mode, а не loveshack python, вероятно, не имеет отношения к python-buffer и python-set-proc.

Ответы [ 3 ]

2 голосов
/ 29 ноября 2011

Вы можете установить новое значение на python-buffer.

(defun my-python-set-proc (buffer-name)
  (interactive "B")
  (setf python-buffer (get-buffer buffer-name))
  (python-set-proc))

И затем M - x my-python-set-proc RET *Python* RET или M - x my-python-set-proc RET *Python*<2> RET .

1 голос
/ 09 февраля 2012

В любом буфере Python вы можете использовать переменную py-which-bufname, чтобы контролировать, в какую оболочку Python отправляется ваш код при его выполнении. Переменная является локальной для буфера, поэтому, чтобы установить ее в пользовательское значение, вам нужно изменить его из буфера, нажав M-: и введя следующее

(setq py-which-bufname "My-Custom-Bufname")

Это также упрощает быстрое создание новых буферов процесса: если для py-which-bufname задано имя, для которого нет соответствующего буфера процесса, вы можете просто запустить C-c !, чтобы быстро создать его. .

НТН

0 голосов
/ 22 июля 2012

py-shell-name устанавливает значение по умолчанию, которое может быть перезаписано командой

Если в буферном коде содержится значение shebang, определяющее pythonVERSION, это имеет приоритет над настройкой по умолчанию.

Вы можете принудительно запустить выполнение буфера через определенный pythonVERSION, вызвав команду класса py-execute-buffer-pythonVERSION

См. Меню PyExec, запись Выполнить буфер ...

...