python-shellEmacsの実行中にの新しいインスタンスを強制する方法はありますか?別々の作業ディレクトリ(および異なるモジュールのセット)を使用して複数のプロジェクトで作業する場合に便利です。
呼び出そうとするpython-shellと、現在のインスタンスのみがプルアップされます。
python-shellEmacsの実行中にの新しいインスタンスを強制する方法はありますか?別々の作業ディレクトリ(および異なるモジュールのセット)を使用して複数のプロジェクトで作業する場合に便利です。
呼び出そうとするpython-shellと、現在のインスタンスのみがプルアップされます。
新しいものを開く前に、元のpython-shellの名前を変更する必要があります。使用M- x rename-buffer。
バッファの名前を変更しても機能しませんが、の3番目のパラメータを使用できますrun-python。
M - : (run-python nil nil t)RET
現在のバッファーに切り替えるためのバインディングはあまり役に立たないので、もっと便利なものにリバウンドすることができます
(defun my-run-python (&optional new)
(interactive "P")
(if new
(run-python nil nil new)
(pop-to-buffer (process-buffer (python-proc)) t)))
(define-key python-mode-map (kbd "C-c C-z") 'my-run-python)
そして、---を使用して現在のPythonインタープリターに 切り替え、C----を使用 して新しいPythonインタープリターに切り替えます。cCzCuCcCz
python.elpython-mode経由で使用する場合、Pythonバッファーごとに1つのPythonシェルがデフォルトになります。
ただし、代わりに複数のPythonバッファーが同じPythonシェルを共有する場合は、このデフォルトの動作を変更できます。これを行うには、最初のPythonバッファーを開いた後、次のように入力します。
M-x python-set-proc
...これは文書化されています:
Set the default value of `python-buffer' to correspond to this buffer.
If the current buffer has a local value of `python-buffer', set the
default (global) value to that. The associated Python process is the
one that gets input from C-c C-r et al when used in a buffer that
doesn't have a local value of `python-buffer'.
その後、新しいPythonバッファーで独自のシェルを使用する場合は、次のように入力します。
M-x set-variable python-buffer [RET] nil [RET]
python-switch-to-pythonそうしてから新しいPythonバッファーを開くと、またはを入力した後、そのバッファー用に新しいPythonシェルが作成されC-c C-zます。