在 Emacs 中使用多个 Python shell “python-mode”使用 Python 或 IPython
有没有办法在运行 Emacs 时强制使用 python-shell
的新实例?当处理具有单独工作目录(和不同模块集)的多个项目时,这会很方便。
任何调用 python-shell
的尝试都只会拉出当前实例。
Is there a way to force a new instance of python-shell
while running Emacs? It would be convenient when working on multiple projects with separate working directories (and different sets of modules).
Any attempt to invoke python-shell
will only pull up the current instance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在打开新的 python-shell 之前,您需要重命名原来的 python-shell。使用M-x
重命名缓冲区
。You need to rename your original python-shell before opening up a new one. Use M-x
rename-buffer
.重命名缓冲区对我来说不起作用,但您可以使用
run-python
的第三个参数。M - :
(run-python nil nil t)
RET由于切换到当前缓冲区的绑定是没什么帮助
你可以将其反弹到更有用的东西
并使用 C-cC-z 进行切换
到当前的 python 解释器和
C-uC-cC-z
切换到新的 python 解释器。
Renaming the buffer doesn't work for me, but you can use the third parameter of
run-python
.M - :
(run-python nil nil t)
RETSince the binding to switch to the current buffer isn't really helpful
you can rebound it to something more useful
And use C-cC-z to switch
to the current python interpreter and
C-uC-cC-z
to switch to a fresh python interpreter.
通过 python.el 使用
python-mode
时,默认情况下每个 Python 缓冲区都有一个 Python shell。但是,如果您希望多个 Python 缓冲区共享同一个 Python shell,则可以更改此默认行为。为此,在打开第一个 Python 缓冲区后,输入:
...记录如下:
然后,如果您希望新的 Python 缓冲区使用其自己的 shell,请输入:
这样做后,然后打开一个新的 Python 缓冲区,输入
python-switch-to-python
或Cc Cz
后,将为该缓冲区创建新的 Python shell。When using
python-mode
via python.el, having one Python shell per Python buffer is the default.However, you can change this default behavior if what you want instead is for multiple Python buffers to share the same Python shell. To do so, after opening the first Python buffer, enter:
...which is documented:
Then later, if you want a new Python buffer to use its own shell, enter:
After doing so and then opening a new Python buffer, a new Python shell will be created for that buffer after entering
python-switch-to-python
orC-c C-z
.