I've tried several things. So far vim (with line numbers) to show the code and then ipython to run it works great. Another option I tried once was Aptana, since most people in my company know eclipse this was good for them. It has most (all?) of the features you mentioned above.