On Friday, some changes I made to python.el landed on Emacs trunk. Emacs had recently broken support for remote Python interpreters when it eliminated the need for its emacs.py file. My changes restored support for remote Python interpreters.
I turned my attention to Rope, Ropemacs, and Pymacs tonight. I have a small change to Pymacs that lets it start a remote Python interpreter, and I started making experimental changes in Ropemacs to teach it how to handle TRAMP file paths.
Installing packages including my changes looks like this now:
$ pip install rope $ pip install -e hg+https://email@example.com/matthewlmcclure/ropemacs#egg=ropemacs $ pip install -e git+https://github.com/matthewlmcclure/Pymacs.git@tramp-attempt-2#egg=pymacs $ pushd $VIRTUAL_ENV/src/pymacs $ make install
M-x find-file /path/to/pymacs.el M-x eval-buffer
The Ropemacs documentation is pretty thin. The
README.txt file in the Ropemacs repository has a lot of
good documentation, and this StackOverflow post has been helpful to
get a basic understanding of how to use Ropemacs on local Python files.