5

python-shellEmacsの実行中にの新しいインスタンスを強制する方法はありますか?別々の作業ディレクトリ(および異なるモジュールのセット)を使用して複数のプロジェクトで作業する場合に便利です。

呼び出そうとするpython-shellと、現在のインスタンスのみがプルアップされます。

4

3 に答える 3

3

新しいものを開く前に、元のpython-shellの名前を変更する必要があります。使用M- x rename-buffer

于 2011-11-26T22:10:54.520 に答える
3

バッファの名前を変更しても機能しませんが、の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

于 2011-11-29T12:47:48.413 に答える
0

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ます。

于 2015-01-16T16:05:20.417 に答える