Eclipse is great when you are programming in Java, but I would disagree that it's features are necessary for programming in Python.
It's key strengths are project organisation, because a Java project needs more than just .java files. There are always loads of different config files, build files, and associated bits and bobs required by the different frameworks you have to use. Python doesn't have these and a text editor does me fine.
I'd agree that having the reference documentation handy is useful, but you don't need a resource hogging IDE to get to it. I find a browser window sufficient for Python, PHP or Java.
Although the tooltips are quite nice ;-)
Eclipse is necessary for Java development. You call a method and that method happens to throw an exception. How are you supposed to know that without digging through the manuals? Luckily, Eclipse knows and tells you. Two mouse clicks later, you are correctly handling that exception.
This is just an example of Eclipse handling Java's rigid rules. Without Eclipse, I wouldn't be very good at Java programming.
But Python (and Perl and PHP and Ruby and . . .) are agile. They are attractive because they don't have rigid rules like Java does. So a simple text editor generally does the trick.
The killer feature of Eclipse (and the other Java editors) is the refactoring support. Python code is easier to write the first time, Java code with Eclipse is easier to refactor and get the way you want it.
That's changing the playing field.
The "Java is great because it has great tools" is the sort of bizarre mentality that you will get from the Java zealots.
As others have said, dynamic languages just don't need all the tools Java has, because they're much less rigid. Not to mention the fact that there's often so much less code to deal with in the first place...
I was a Java programmer from 96 until the year before last. I stopped using it because its too much like hard work. Why go to all of that effort when I can just use python - get it working in a fraction of the time and don;t have to put up with a language that assumes I am stupid as a base premise..
When I did programme in Java eclipse was essential. As mentioned above it handles exceptions really well. A couple of clicks will let you add exception handling code. Refactoring in Java can be a major pain in the arse and eclipse makes it really easy. Renaming classes is a pain in the arse - because the class name, the file name, the directory structure and the package name all must match (you can bend some of these rules but you wouldn't unless you are insane :-)).
I really don't buy the Java is great because java has great tools. Java NEEDS eclipse - it makes it tolerable. PLus current java style ( wrapping at 80 characters so code uses 2 inches of width on my screen and scrolls down for miles, explicit imports for every class so the first two pages of the file are just for the compiler not me, etc) really requires eclipse to automate.
For python I have gone back to my trusty text editor. I am *way* faster and more productive plus my machine isn't running some great memory hungry resource hog.
(for the record I was a very experienced Java programmer and developed a number of *very* big projects with it)
I love you guys. I mean, I read at least 50 blogs where people were saying "I love because I don't have to go dwelling in the APIs, they're so obvious".
And if you ever took a look at Slime for EMACS you'll notice that surely you don't need eclipse to have a reflective environment with autocompletion and the likes. Oh, and I'll never ever ever mention the SmallTalk IDEs.
But hey, java people love to shout "we did this! we did this!"
The compile-as-you-go Java compiler makes Java bearable. Not better, just bearable. Before Eclipse, checked exceptions seemed to be some sort of Sun-sanctioned programmer punishment.
I find myself wanting a staticly typed language with checked exceptions now and then, and Eclipse is just THE tool for Java. It goes far beyond auto-completino or linking to Javadoc/Pydoc.
Now all that Java needs is for methods to be first class objects. And maybe lose the braces and put in whitespace (or parens!). :)
Eclipse is great tool, but I recently switched to NetBeans, and it kicks the ass as well.
What's great in Eclipse are plugins. For example you've got plugins for Struts framework, and click here, click there, and it generates all classes you need, updates config files (XML), and you only write the real code.
That makes Struts usable, otherwise it's crappy framework, by my opinion.
Have fun, Java is not the best, but tools make it usable. Politically it's the only language acceptable, live with that.
Eclipse makes programming Java bearable. The auto-completion, refactoring, renaming, import statement management, and auto-formatting save major chunks of time. The CVS integration is well done and, as Benko says, the plugins also add a lot.
It's the best IDE I've used, ever.
But I'm still faster in Python and Vim than I am with Java and Eclipse.
The argument that "Java needs all those great tools only because Java is rigid" does hold water.
But I also see it as "It is feasible to make great tools in Java because Java is rigid and easier to process".
While I don't need tools as badly as I need tham in Java, the current state of tools in Python is not to my satisfaction.