emacs python模式:指定要向哪个python shell发送命令

emacs python模式:指定要向哪个python shell发送命令,emacs,python-mode,Emacs,Python Mode,接下来,如果有两个python shell在emacs中运行,如何指定每个python脚本缓冲区中的哪些shell命令被发送到?我怀疑这与python buffer和python set proc有关,但将这些变量设置为shell的名称显然不是解决方案 编辑:实际上,由于我使用的是python模式而不是loveshack python,它可能与python buffer和python set proc无关,因此可以将新值设置为python buffer (defun my-python-set-

接下来,如果有两个python shell在emacs中运行,如何指定每个python脚本缓冲区中的哪些shell命令被发送到?我怀疑这与
python buffer
python set proc
有关,但将这些变量设置为shell的名称显然不是解决方案


编辑:实际上,由于我使用的是
python模式
而不是loveshack python,它可能与
python buffer
python set proc
无关,因此可以将新值设置为
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*
RET.

在任何python缓冲区中,都可以使用变量
py which bufname
来控制在执行代码时将代码发送到哪个python shell。该变量是缓冲区本地变量,因此要将其设置为自定义值,您需要在缓冲区内按
M-:
并输入以下内容来更改该变量

(setq py-which-bufname "My-Custom-Bufname")
这也使得快速创建新的进程缓冲区变得容易:如果您将
pywhich bufname
设置为一个没有相应进程缓冲区的名称,您只需发出
C-C以快速创建一个


HTH

py shell name设置默认值,该值可能会被命令覆盖

如果缓冲区代码包含指定pythonVERSION的shebang,则优先于默认设置

您可以通过调用pyexecutebufferpythonversion类的命令,通过特定的pythonVERSION强制执行缓冲区


请参阅菜单PyExec,条目Execute buffer…

谢谢-我建议使用
python buffer
python set proc
是错误的,因为它们似乎是loveshack python的相关变量,而不是
python模式
。案例结束!谢谢-这正是我需要的。