pinard/Pymacs

Make Pymacs compatible with remote Python interpreters

Opened this issue · 5 comments

I'd like to be able to set a directory local value of pymacs-python-command, open that directory via TRAMP, and have Pymacs use a Python interpreter executing on a remote machine.

I started changing pymacs.el by trial and error here: https://github.com/matthewlmcclure/Pymacs/commits/master.

If you see low hanging fruit to make this work, I'd love your input.

Could you try replacing start-process with start-file-process in pymacs.el and see if it works for you?

I'm able to (pymacs-load "ropemacs" "rope-") after changing start-process to start-file-process.

Thanks for the confirmation. I wonder if you can run the unit tests in Pymacs to verify none is broken, which will convince François to merge the change.

tkf commented

FYI, there is another new rope client which works via XMLRPC. I guess it works with rope running in remote host.
https://github.com/abingham/traad

I'm working on slightly different path now. I'm using https://github.com/matthewlmcclure/tramp-virtualenv to change remote virtualenvs and update the remote PATH when I change buffers. That eliminates the need to use a custom python command for most simple use cases.

I made one brief attempt to use Rope over TRAMP that way, and it broke because some participant in the interaction passed a TRAMP file path to the remote Python interpreter. I think I need to provide a file path mapping capability.