Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
OS X Operating Systems Programming Technology

Python IDE for Mac OS X? 113

benbranch asks: "I am presently learning the Python programming language. The language itself is brilliant and seems very easy to pick up, however my problem is finding a decent IDE. I use Mac OS X (as Windows is excruciating), and though I love Linux (Debian/Ubuntu) all my work computers are Mac's. Can anyone advise me as too a good open source IDE for Mac? If there are any Python programmers out there using Macs, I would love to hear from you."
This discussion has been archived. No new comments can be posted.

Python IDE for Mac OS X?

Comments Filter:
  • Have you seen... (Score:5, Informative)

    by WTBF ( 893340 ) on Thursday December 29, 2005 @09:32AM (#14357680)
    ...this list [] of Python Editors?

    Quite a lot of them work on OS X, and personally I would recomend eclipse (although I have only used it with Java, so I do not know how well it works with Python).
  • similar situation (Score:5, Insightful)

    by gimpimp ( 218741 ) on Thursday December 29, 2005 @09:37AM (#14357693) Homepage
    i'm in a similar situation, having just bought my first mac, but i'm looking for ruby ide's. os x is fantastic, and so far ahead of desktop linux, i dont want to go back. one thing that lets it down though, are the ide's available. i've settled on eclipse [], since it handles python, ruby etc. you do need to install python/ruby support, but it's easily done. the python extensions can be found here: pyDev []
    • Re:similar situation (Score:3, Interesting)

      by mbadolato ( 105588 )
      I've used (very little though) the OS X version of Komodo for some Perl stuff, and it seems very nice. One of these days I'll install it again and give it a really good test. I believe it does Perl, Python, and Ruby as part of the core, and has all the major IDE functions.

      On OS X, TextMate [] is really coming along nicely, but it's not an IDE; just an editor. That's the editor used in the 15 minute Ruby-On-Rails demo video, for those who have seen it.
    • check out Komodo (Score:3, Informative)

      by jbellis ( 142590 )
      ActiveState's newest version came out for OSX first and supports ruby and RoR as well as the languages it has historically supported (python, php, tcl, ...)
  • Objective C (Score:5, Funny)

    by fozzmeister ( 160968 ) on Thursday December 29, 2005 @09:45AM (#14357713) Homepage
    Aparently Objective C is perfect and all you need
    • Re:Objective C (Score:1, Insightful)

      by Anonymous Coward
      Outside of Cocoa no new ObjC code seems to be written at all. Which probably says something about that language.
      • by John Nowak ( 872479 ) on Thursday December 29, 2005 @10:09AM (#14357800)
        The reason little Objective-C is used outside of the Apple/Cocoa world is that it isn't standardized. In order to make the most of it, you need to develop with some framework. Your main choices are either Cocoa or Openstep. That said, Cocoa is Mac only (for now... I have my eye on the upcoming expo) and Openstep is lagging behind in many areas.

        That said, you don't need either of them to use Objective-C. GCC comes with a standard "Object" that everything else can inherit from. The problem is that, while you get all of Objective-C, you get none of the lovely frameworks; You're stuck with the standard C library. Depending on what you're doing, this may or may not be a problem.

        I personally think Objective-C is a fine choice for cross-platform development sans-frameworks IF:
        1. You'd be comfortable doing it with C
        2. You're doing largely lower level work or non GUI-work (in which case you'd need to use Openstep)
        3. You *like* C, but wouldn't mind getting some objects to go along with it.
        4. You're willing to accept a performance hit for message sends versus function calls (minor though, about 1.7x).
        5. You'd like to take advantage of some of Obj-C's special features that GCC provides (dynamic module loading, etc)

        The problem isn't that Objective-C is a "bad" language. It is rather good actually. The problem is that either you're using Openstep for crossplatform development, which, while I *have not done*, I hear is rough, or you're going in with only the standard C library. If you think of Objective-C as some simple additions to C to make your programming easier, more maintainable, and more enjoyable, then it can be a very useful tool. Just don't expect anything else from it unless you're on the Mac platform or are willing to deal with Openstep.

        In summary, Objective-C sans-frameworks can serve as a good replacement for C in a lot of cases where performance is important but not critical, and as a replacement for C++ in some cases (C++ comes with so much more than Objective-C out of the box).
        • The reason little Objective-C is used outside of the Apple/Cocoa world is that it isn't standardized.

          I wouldn't agree that that's a factor at all. Obj-C is available everywhere that GCC is. The reason that most Obj-C coders are using Cocoa, is that they learned Obj-C because of Cocoa (or NeXTSTEP).

        • That said, you don't need either of them to use Objective-C. GCC comes with a standard "Object" that everything else can inherit from. The problem is that, while you get all of Objective-C, you get none of the lovely frameworks; You're stuck with the standard C library.

          Actually, it's not quite that bad, because you also have all of the available C++ libraries.

          Because the C++ and Objective-C extensions to C are orthogonal, you can actually write Objective-C++. This means you can use Objective-C for the

  • Text Editors... (Score:5, Interesting)

    by Big Sean O ( 317186 ) on Thursday December 29, 2005 @09:47AM (#14357718)
    If I'm learning a language (as opposed to working on a project with others), I find I seldom need all the bells and whistles an IDE provides.

    I know of two text editors that provide excellent Python integration.

    * BBEdit: ml []
    * Vim: []

    I like Vim better for two reasons. First, it is slightly cheaper; and secondly it has the words Don't Panic inscribed
    in large friendly letters on its cover.
    • IDEs provide two useful functions IMO, one of them is critical.

      (1) Scaffolding for ugly nasty APIs. For example, generating MFC applications, VC performs all kinds of abhorrent preprocessor abuse on your behalf. Since you are talking Python, you don't have this problem.

      (2) Support for refactoring. This is the one killer feature for an IDE like eclipse. Aside from that I'm happy with a plain old text editor.
    • Re:Text Editors... (Score:4, Interesting)

      by Fahrenheit 450 ( 765492 ) on Thursday December 29, 2005 @11:46AM (#14358276)
      Meh. BBEdit is grossly overpriced, even with their dumbass "crossgrade" from TextWrangler. Vim, TextEdit, emacs, and smultron are each far better editors at far better prices. And SubEthaEdit is pretty decent with an unbeatable price as well.

      The folk over at BareBones have been cruising on reputation far too long with their substandard products...
      • Regardless, BBEdit does feature good python integration.

        But I agree, BBEdit is overpriced. I originally bought BBEdit back in the 1990s (when it was reasonably priced). I finally got fed up with paying for upgrades.

        That's the main reason I learned Vim. Steep learning curve, but the price is right.
      • First off, I've been a BBEdit beta tester on and off.

        If you are a BBEdit user, and you have a complaint about the software, then tell them. []

        They've added a number of features that users have asked for (I know, because I requested a number of them). As I've said before the key to change is to complain. []

        BBEdit might look expensive in terms of absolute dollars, but as with any purchase, you have to look at the benefits vs. the cost ... if you can find a tool that makes you 1% more productive, that you have to b
        • If you are a BBEdit user, and you have a complaint about the software, then tell them.

          I have. Well most of my comploints have been about Mailsmith. Bare Bones standard reply: Thanks for the suggestion. We do not discuss future plans for our software, but we will consider your suggestion. Swell... meanwhile Mailsmith still has yet to even sniff IMAP... No thanks. Give me something like Textmate, where the developer spells out his plans clearly, and will tell you straight up if a feature will be added o
      • TextMate [] is IMO, the best editor for OS X.
    • Re:Text Editors... (Score:4, Interesting)

      by prichardson ( 603676 ) on Thursday December 29, 2005 @01:30PM (#14359049) Journal
      I'm a huge fan of SubEthaEdit.

      It's free for personal use and available at []

      The collaborative text editing feature is cool, but I never really found a use for it.
    • IMHO, vim needs "Don't Panic" written on the cover, because my first experience with it went something like this:

  • emacs (Score:3, Informative)

    by AOL-CD-Man ( 920944 ) on Thursday December 29, 2005 @09:53AM (#14357738) Homepage
    I've been writing python code on mac os x for over two years now, and all I ever needed was the emacs port for OS X []. The CPython mode for emacs does sensible syntax highlighting, indentation etc.
    • I also use emacs to write python on the mac, although I use emacs connected to X11. The initial reason was that you can tell X11 to pass all keyboard commands to the program, so that you can use the Apple/Command key as emacs's Meta key. You get the benefit of having the option to run the same version of emacs w/X11 or in the terminal (handy if you want to use your regular editor should you ever SSH into your own box remotely). The newer versions of emacs support various levels of integration with the py
    • I've tried a few different Emacs ports on OS X.

      If you want Emacs for OS X you should check out Aquamacs []. It has some good integration with OS X that can make your life easier.

      For example it supports standard OS X keyboard shortcuts (in addition to standard Emacs bindings) and easily assign shortcuts to the iBook / PowerBook Fn key combos. You can access the OS X dictionary from the context menu, and use the services menu... etc. etc.

      The parent points at another emacs port that looks pretty stale (it

  • KOMODO? (Score:3, Interesting)

    by rakanishu ( 670638 ) on Thursday December 29, 2005 @09:54AM (#14357745)
    I know it's not open source, but Active State's KOMODO has a mac version now. The personal edition is pretty cheap.

    I just use VIM, but I wouldn't consider it an IDE.
  • There's no reason to have an IDE in all cases. In most, you don't need one at all. What you do need is a good text editor. I recommend TextWrangler ( [] It is free, and has almost all the features of the venerable BBEdit. You can always use vi or emacs, but personally I don't think either is worth the effort for Python (emacs definitely isn't -- It might be a different story for something that needs a highly flexible editor like Lisp).
    • IS an IDE. It seemlessly Integrates all the necessesary Development tools into the shell Environment. The Vim Editor, Exuberant Ctags, grep, find, sort, cut, etc.

      It's all there and it all integrates together beautifully. Not to mention full featured access to the file system.
      And plugins? Forget about it! There are thousands... and making new ones is as simple as writing a program in just about any language you choose.

      Why do people feel the need to look for an "IDE" when both the Linux and MAC OSX come

      • That's pretty funny.

        1) How do you use the shell to change a method name on a type and all subclasses, along with all invocations of that method on objects of those types? I can do this across a 100,000 LOC code base in a couple of seconds, and in making this kinds of changes regularly for a couple of years now, Eclipse has never screwed up this kind of refactoring.

        2) How does your shell ide find all references to a given method? Eclipse uses a full-text search engine (Lucene) and searches against a comp

        • Thank You! I'm getting so tired of reading about Vim and Emacs every time an IDE discussion comes up. Yes, they are good at what they do and have their uses, but comparing them to well developed IDEs like Eclipse when working in the languages they're designed for is a joke.

          As you suggested, I would usually only stick with Vim or Emacs if a good IDE didn't exist yet, and in the case of Python, it looks like some of the IDEs are starting to mature. I personally like Pydev for Eclipse, since it's one of the
        • Why, using Bicycle Repairman [], of course !

    • Don't listen to anyone who says you do not need an IDE for software development or only when working with others. Phrases such as "bells and whistles" are for those who do not code seriously or professionally. Unless you are only interested in writing HelloWorld programs or equivalently simple procedural language programs, an IDE is mandatory. And all OO languages requires an IDE for serious software development.

      Your best method to learn the language is to find a good book on the language and an IDE you
  • MacPython (Score:4, Interesting)

    by Tachikoma ( 878191 ) on Thursday December 29, 2005 @10:02AM (#14357780)
    you can download and IDE(PythonIDE) and extras from MacPython []

    i'm in the same boat, i just got a powerbook for christmas and i downloaded the stuff last night, wanting to learn some python.

    i had trouble with the install, all the latest stuff is for 10.3 and i've got 10.4. the wiki FAQ can get you up and going. also has a package manager and you can download PyObjC, which is a "bridge" (wrapper class?) so you can code in python and use cocoa elements. just getting my mac a week ago, i don't actually know what much of the above means, but thats where i'm heading.
  • by gerbercj ( 267098 ) on Thursday December 29, 2005 @10:09AM (#14357801) Homepage
    I have been using ActiveState's Komodo Professional on Windows since 2002, primarily for Perl development. It has good Python support, and the OS X version works great as well. See its Python features here: s/python.plex [] It also supports PHP, Ruby, Tcl, and XSLT, as well as color formatting for other languages. They license developers, rather than machines, so I have legally installed a copy on my PowerBook for work at home, and it's been great. You also mention that you like working on Linux, and you'll be happy to know that they support it as an OS as well. Some interesting features are it's integrated debugger, autocomplete, and the interactive shell. There is a 21-day free trial, and the personal license is only $30.
    • Another nice thing about the license is that it is good for windows, mac, and linux versions per developer - so if you work on multiple platforms you can have the same IDE on all. If you need cross platform support, Komodo and Eclipse would be the two to consider, imho.
  • Not open source, so I guess it doesn't answer the original posters question (not uncommon on ask slashdot, I know)... But so darn good it's made me ditch BBedit, SubEthaEdit and whateverOtherEditIForgot for this baby. Text collapsing, autocomplete, and as a Sign that $DIETY loves us, an amazing snippet system.
    • Re:TextMate. (Score:4, Interesting)

      by John Nowak ( 872479 ) on Thursday December 29, 2005 @10:47AM (#14357964)
      I dislike TextMate.

      1. The undo functionality is crippled. Undo "undoes" one character at a time. This stops me from working the way I like to, which often involves adding a few lines, testing the code, and hitting undo if it didn't work out.

      Er... well that's it actually. What is up with that undo functionality?
      Someone please correct me if I am doing something wrong here. Maybe I am.
      Ah well, back to TextWrangler.
      • Yeah, the single step undo is annoying, and is one of the longest standing complaints Allan has had to field, as well as things like lacking a "repeat following command X times" functionality. But it's still a pretty solid editor. It's the first one that's been able to pry me away from vim on the Mac...
      • I'm not sure if I can understand the single step undo issue - the way it works on my end, i type something, undo undoes the last thing i did, which was a keystroke. undo again, another keystroke disappears. how would undo know what else to do at this point? I guess I'd be more upset if copy/paste wasnt undone with a single undo. which it is. and that makes total sense, since paste is a single keystroke.
        • BBEdit -- and many other text editors -- tend to use somewhat more complex algorithms for determining one undo step. It's usually something like "the text inserted from the point you started typing after the last cursor repositioning until the next cursor repositioning or undoable command." So, if you click on a word and type a new word to replace it, then decide you don't want to do that, one undo step and the old word is back. You start typing at the end of a paragraph and decide not to, one undo step and
        • Most text editors treat an uninterrupted string of text characters as a single step when it comes to Undo. For example, let's say I type "How are you, Bob?" and cursor up, then type "Dear Bob". The first Undo would remove "Dear Bob". The second Undo would remove "How are you, Bob?". This is what most people expect, as we think in words and sentence fragments.
          • It's sad. I've been using editors for 7+ years (including BBEdit) and I can't for the live of me picture this. I Guess undoing is on a level of subconcious action for me that I don't even notice the differences - I just undo and my mind switches back on when I see the code at the point I want it undone to.

            Or I'm just stupid. entirely possible.
    • I second this recomendation. Textmate is the first editor I have EVER felt was worth the price. It litterally has daily updates, supports a ton of languages, and is just overall fast and good.
  • Eclipse w/Plugin (Score:4, Interesting)

    by bblazer ( 757395 ) * on Thursday December 29, 2005 @10:15AM (#14357821) Homepage Journal
    I think that you may want to take a look at Eclipse and download the python plug in. I have really enjoyed using Eclipse and the python plugin is pretty darn good. Plus you are only a step or two away from giving jython a test drive. I am running this on a Mac PB with no problems.
    • Re:Eclipse w/Plugin (Score:5, Informative)

      by ultrabot ( 200914 ) on Thursday December 29, 2005 @10:40AM (#14357933)
      Incidentally, the Eclipse plugin is called PyDev. []

      It seriously rocks, all the Eclipse goodness + code completion for Python. I tend to prefer it to other Python IDE's these days, esp. now that Eclipse 3.1 is not a slow dog anymore.
      • What do you guys do for a font running Eclipse on OS X? I've been using this setup for java development lately, and I absolutely love it, but I've only come up with a kludge for making it OK to look at: I set the font to Monaco (default) but with a 10pt size and then go in to System Prefs to turn off font anti-aliasing for fonts 10pt or smaller. Then when I'm done with eclipse I set it back to 8pt (otherwise things look ugly). I find the default Monaco-12pt to be too big - while it's fairly easy on the eye
  • by Progman3K ( 515744 ) on Thursday December 29, 2005 @10:33AM (#14357905)
    >all my work computers are Mac's.

    Ask you boss to get you your own computer and stop using Mac's.
  • by hecull ( 682575 )
    SPE, Stani's Python Editor works with Mac. I've only ran it in Windows and Linux, but it's the best I've found. []
  • PyQT bindings (Score:3, Informative)

    by speculatrix ( 678524 ) on Thursday December 29, 2005 @10:41AM (#14357940)
    Not the answer to your quest for an IDE, but...

    If you want a cross-platform GUI library for Python you should consider PyQT [] which would allow you to run your python gui programs acrosss multiple platforms. QT licensing is not to everyone's taste as it seems to force you to either be totally GPL or buy a full commercial license.

  • by zhenga ( 770390 ) on Thursday December 29, 2005 @10:45AM (#14357954)

    Not really an IDE but more of an editor, but the following TextMate screencast might be of interest: []

    it's a screencast of TextMate in which a Python developer shows some nice tricks of the editor.

    For more screencasts featuring other languages, see the screencast page of TextMate: eencast/ []

    • I'm about to shell out the $45 for it. Regular expressions for defining your own custom syntax and tabbed file viewing and scripting galore. I don't use the snippets so much yet, but that's a favorite feature among most of my friends.... basically lets you pated a block of code and tab through the fields within that snippet to edit them.

      I'm using this for developing a webapp in VB.Net (yeah, I shivered when I got the project too, but I'm pleasantly surprised how much better it is than VB6) over a samba mo
  • by Anonymous Coward
    WingIDE is used extensively for most large commercial and otherwise software projects. Most of the developers at use it.

    Also, as a free alternative try winpdb: []

    Its the most advanced python debugger i've used, but its not an IDE. I use WingIDE PRO for now, but anything that requires advanced debugging I switch to winpdb.
  • I use Wing ( [] I feel it's the best Python IDE available for any platform. It can run on OS X, although it will do so in X. This may or may not matter to you, depending on your development proclivities. Komodo would be my second choice.
    • I also recommend wingide, it is the best python ide in linux, but it is also good in windows/OSX. Make sure that: X11 - Perference - Input - UNCHECK Enable Keyboard Shortcut under X11 If you want unicode programming (specially asian) and doesn't care about debug, you can just use Xcode as editor. Keep an eye on pydev and SPE, although they didn't work on me, they have potential. Thanks for the information in this discussion, I would take a look on other debuggers and editors as well
  • Smultron []? Since everyone else is suggesting text editors, might as well throw in the one I use.
  • Just use Xcode (Score:5, Informative)

    by jcr ( 53032 ) <> on Thursday December 29, 2005 @12:53PM (#14358759) Journal
    .. like all the other Python coders on the Mac. While you're at it, check out PyObC. It gives you full access to all of Apple's Obj-C frameworks from Python.

  • Emacs is, well, it's Emacs.

    Eclipse has a python development plugin and Eclipse is well awesome!
  • I've used gvim for months, but I have a dvorak layout, so much of the benefit is lost on me. I tried Bluefish a bit ago, and it's quite nice. You can get it via fink.
  • by FFFish ( 7567 ) on Thursday December 29, 2005 @02:17PM (#14359454) Homepage
    Leo, the Literate Editor with Outlines, kicks ass once you learn to use it.

    It creates self-documenting code through its use of outlining. The use of outlining automagically encapsulates complex algorithms and ideas. One ends up with this bitchin' combination of structural/algorithmical/conceptual outline nodes and actual code.

    I so very much wish that IDEs would start using LEO techniques. It would truly provide the best of all worlds.
  • I really like TextMate

    You can find it here [].

  • by slevin ( 67815 ) on Thursday December 29, 2005 @04:40PM (#14360382) Homepage
    I've tried lots of different development systems for Python. I'm currently sold on Emacs being the best. For C++/Java/C# the computer has the typing information to help with the development process, so IDE's for those languages/platforms can help quite a bit. But IDE's can't help nearly as much with Python.

    I've used Wing IDE quite a bit and it is pretty good. It does help organize projects and can do some code completion (but not nearly as good as IDEs for Java et al). It would be my recommendation for anyone who needs a transition tool.

    I've played with Leo a little bit, but not enough to make any serious recommendation. But the philosophy is really sound. It really does the trick for organization. If it had a better text editor, I would give it more serious consideration.

    I've always been a Vim fan. Nothing can beat it for editing text, but I think its Python mode is less than stellar. I prefer my tabs converted to spaces, but the python mode doesn't understand it enough to handle backspaces properly.

    Emacs with python mode is really doing it for me. The real kicker is having the interpreter and the editing buffer in the same window. Being able to switch back and forth and make changes and test them in a live environment is a whole new world. That instant feedback leads to a more iterative development process that makes coding more fun and, in my experience, just plain better. Not to mention that is available on every platform and very responsive. Highly recommended.
  • I am a big ruby fan, and I know it's so dynamic that, other than syntax hilighting, you can't really be sure, except at runtime, what a particular method is going to do, or it will even exist. If python is as dynamic as ruby, I suspect the best you can find will be something that KINDA works, not not in the way that a static language IDE will work.
    • The solution to that problem is simply more introspection. See [] for an example.

      BTW, emacs all the way ;)
      • The solution to that problem is simply more introspection. See [] for an example.

        I don't see how... Basically autocomplete isn't going to work when the program logic can be changed at runtime.

        def missing_method(name, *args)
        if (random_boolean())
        do_a(args[0], args[1]);

        Now when I call "string".foo(), it will eiteh rhave just enough parameters, or not enough
  • I've been using the Windows version of the Wing IDE [] for several months now and it's the best money I've ever spent on an IDE. Yes, it's commercial software, but good tools are worth it if you can't find an open source version that works for you.

    Comes in versions for Win, Linux and OS X. A timed trial version (otherwise uncrippled) is readily available. I hear the authors/company are active in the local Bostun Python group, but I haven't made it to a meeting yet.

  • IDLE comes with Python, and is easy to set up on OSX. The editor is pretty good, debugging is pretty good. Unfortunately you can't actually test a Tk app within IDLE, since IDLE is Tk... So you have to drop to a prompt and launch your app from there. It has nice syntax highlighting and editing is usual WYSIWYG. There is a nice installer to get the pieces you need like bsddb. There is a pythonmac-sig mailing list where folks discuss such things.
    • Oh yeah, Jedit is quite a nice programmer's editor, and the OSX port is delightful. Gosling uses it. It knows Python syntax highlighting, don't know about launching your app from the editor...
  • ...that a text editor doesn't? When doing C++ development I've found an IDE useful for managing things like options for multiple build types and automating the complation and linking process. Additionally C++ IDEs are useful because a bundle of source files might go into a single executable so it makes sense to organize source code in such a way that you can see, for each built executable, what files went into it. What aspects of Python require an IDE?
  • By Glenn Andreas. Quite nifty. []
  • According to the following readworthy review, hon-ides.html [], Wing should be worth a look - it's not free though. Disclaimer: I'm basically in the same position as you - looking for a good Python IDE for Mac OS X.
  • If you install MacPython, you get IDLE for free. It works just like the standard command-line Python interpreter but gives you syntax coloring and other useful features.

    If you want something that will let you create GUI's easily, then try SPE. It includes wxPython and works more like a typical IDE.
  • As a programmer, I have perpetually moved from IDE to IDE and from Text Editor to Text Editor. I have tried everything from the standard notepad to editors like NEdit. Previously I stumbled upon JEdit. All I have to say is this: It is one, if not the best, editor I have come across by far (and people: I am a VIM lover). The only thing that sucks about it, I must admit, is that it is written in Java. Everyone knows that Java apps are resource hungry most of the times. But this editor does it all. Wit
  • OK -- I just tried Eclipse and PyDev for the day. I found the process of creating Eclipse projects corresponding to my existing working directories slightly byzantine, but not too bad.

    The PyDev addins for Eclipse have some nice features to them, such as code completion, pyLint, outlines and the like. I did not manage to get code completion or Tasks to work -- I hope/imagine another half-day or so of futzing around might solve that problem. I thought SubClipse (the subverson addin) was also very nice.


Never tell people how to do things. Tell them WHAT to do and they will surprise you with their ingenuity. -- Gen. George S. Patton, Jr.