Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Emacs: How to start Local python interpreter when editing a remote python file via tramp

On Emacs, when I start python with C-c ! while editing a remote python file (using tramp - plinkx: on windows), the python interpreter is started on the remote host.

Is there any way I can edit the remote python file and start a local python interpreter?

I am using python-mode (not the default python.el)

like image 712
Shanmu Avatar asked Nov 15 '22 14:11

Shanmu


1 Answers

python-mode creates an inferior process via 'make-comint, which uses 'start-file-process, which creates the process relative to the variable 'default-directory. So there are a few ways you can tackle this beast.

The first is to change 'default-directory to be something local, like:

(add-hook 'python-mode-hook (lambda () (setq default-directory "~"))

That has the downside that C-x C-f now behaves differently (starting at ~).

Another is to change the 'default-directory just for the invocation of 'py-shell, like so (untested):

(defadvice py-shell (around py-shell-different-directory activate)
  "set default-directory just for py-shell"
  (let ((default-directory "~"))
    ad-do-it))
like image 98
Trey Jackson Avatar answered May 11 '23 15:05

Trey Jackson