views:

2667

answers:

12

I'm about to start a new job where the coding practices are heavily centered around TDD and refactoring, and whose primary development language is Python. I come from the Java world, and have been a confident user of Eclipse for a good, long time. When not working in Java, I use emacs.

I'm looking for an IDE for Python that will give me a lot of the capabilities I've grown used to with Eclipse, not only for refactoring but in terms of code completion, project management, SCM integration (currently CVS, but likely to switch to git one of these days) et al.

What IDE should I use?

+1  A: 

Eclipse PyDev plugin.

http://pydev.sourceforge.net/

zilupe
+6  A: 

Eclipse with Pydev + Pydev Extensions works best for me on any platform.

cartman
+11  A: 

I use TextMate for all my Python programming needs. It's not an IDE per se, but it does a lot of stuff that an IDE does (without all the cruft of an IDE). It has syntax highlighting, code folding, integration with various SCMs through the use of additional bundles (I know it supports SVN, Git, Mercurial, Darcs, and probably a few others). It's also quite extensible and customizable (again, through the use of bundles). It also has a basic concept of projects. One place where it doesn't shine, though, is in code completion; some bundles have limited support for code completion, but it's generally not as amazing as that of most language-specific IDEs. Given how awesome TextMate is, though, I don't know sacrificing that. TextMate's definitely made me much more productive.

mipadi
+1 - Textmate is awesome.
Jason Baker
And anyway, who needs a full featured IDE to dev in Python ? The language is design to be coded with bare hands ;-)
e-satis
+1  A: 

since you are familiar with Eclipse maybe you are interested in Pydev

Konstantinos
+3  A: 

I usually use either komodo edit or aquamacs with ropemacs. Although I should warn you, IDE features won't be what you're used to if you're coming from a Java or C# background. I personally find that powerful IDEs get in my way more than they help.

UPDATE: I should also point out that if you have the money Komodo IDE is worth it. It's the paid version of Komodo Edit.

Jason Baker
+1: Komodo Edit
S.Lott
+1  A: 

I've used WingIDE and have been very happy. Intellisense is pretty good, some other things are a bit wacky but overall it's a very productive tool

jean
+1  A: 

If you have a budget for your IDE, you should give Wingware Professional a try, see wingware.com .

Alex Martelli
+1  A: 

Python support on netbeans is surprisingly good, and comes with most of the features you're looking for.

Up
+4  A: 

macvim + pyflakes.vim

lostlogic
+5  A: 

Pydev for Eclipse, as others have mentioned, is good.

Netbeans has a beta Python plugin that is a little rough around the edges, but could turn into something really cool.

Additionally there is a long list of programming centric text editors for the mac, that may or may not fit your needs.

  • Textmate - costs money, people love this program, but I haven't used it enough to see what all the fuss is about.
  • Jedit - Java based text editor, has some nice features, but the startup time isn't great (due to Java).
  • CarbonEmacs - Decent Emacs port.
  • AquaEmacs - Better Emacs port.
  • TextWrangler - Lite, free (as in beer) verision of BBEdit.
  • BBEdit - The old guard. The defacto editor before Textmate stole its limelight. Expensive.
  • Smultron - Very nice editor, the UI is similar to Textmate.
  • Idle - Python's own little editor, has some nice features, but also some major problems. I've personally found it too unstable for my usage.
James McMahon
Thanks for the link to TextWrangler, exactly what I was looking for. sharp little editor, snaps open quick, even will run basic python scripts with little fuss.
Ryan Townshend
+1  A: 

TextMate or Panic's Coda. NetBeans works very well, if you want a full-blown kitchen sink IDE.

Jeff Ober
+2  A: 

Have tried many different (Kate, Eclipse, Scite, Vim, Komodo): each one have some glitches, either limited functions, or slow and unresponsive. Final choice after many years: Emacs + ropemacs + flymake. Rope project file open dialog is extremely quick. Rope refactoring and code assist functions are super helpful. Flymake shows syntax mistakes. Emacs is the most configurable editor. I am very happy with this config. Python related part of config is here: public.halogen-dg.com browser/alex-emacs-settings/configs/cfg_python.el

This turns out to be the solution I ended up going with, after trying Pydev, TextMate (long time user here, so it was easy to try :) and No, No VIM! ;)
Chris R