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. -- http://mail.python.org/mailman/listinfo/python-list