I have been developing a project in python for the last six months, and love the language. But I have yet to find an IDE or text editor that could provide some extra functionality for me. I currently have syntax highlighting which is one of the easiest things to get, but not much more. I am dreaming of having my IDE jump to the line in my code that caused the crash instead of reading the line number from the backtrace and manually locating it in my text editor. I have been looking for something that could do this under my development constraints, but no success. My constraints are the following:
- The python code being developed rests on a remote machine, equipped with enough RAM and CPUs to run the code. That machine has no screen or keyboard.
- I code from my laptop, a macbook pro running OS X which is not meant to execute the code.
- The remote machine is running Fedora 12 and provides SSH connectivity with root access.
- My connection isn't good enough at home to run an X11 IDE on the distant machine and have the interface displayed on my machine.
What I have been doing up to now is to log-in to the remote machine via SSH using the excellent CyberDuck client. This enables me to open a text file residing on the remote machine inside any of my local usual text editors like TextMate or TextWrangler and have changes uploaded automatically every time the file is saved. This really gives you the felling you are editing the distant file in your usual cocoa interface.
Then to execute the python code, I open a second SSH connection, this time using a terminal into which I would type:
$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")
Finaly, I read the backtrace and go back to my local text editor to find the correct line number. There must be a better way ! Any ideas ?