Slashdot Mirror


Python IDE for Mac OS X?

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."

16 of 113 comments (clear)

  1. Have you seen... by WTBF · · Score: 5, Informative

    ...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).

  2. emacs by AOL-CD-Man · · Score: 3, Informative

    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.

  3. You don't need an IDE by John+Nowak · · Score: 1, Informative

    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 (http://www.barebones.com./ 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).

  4. the truth about objective-c by John+Nowak · · Score: 4, Informative

    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).

    1. Re:the truth about objective-c by jcr · · Score: 2, Informative

      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).

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  5. Komodo on OS X is a solid choice by gerbercj · · Score: 3, Informative

    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: http://www.activestate.com/Products/Komodo/feature 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.

    --
    The weird part is that I can feel productive even when I'm doomed.
  6. Re:Eclipse w/Plugin by ultrabot · · Score: 4, Informative

    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.

    --
    Save your wrists today - switch to Dvorak
  7. PyQT bindings by speculatrix · · Score: 2, Informative
    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.

  8. TextMate Screencast featuring Python by zhenga · · Score: 3, Informative

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

    http://macromates.com/screencast/python_part_1.mov

    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: http://macromates.com/blog/archives/2005/12/16/scr eencast/

  9. I second the nomination for textmate by sevinkey · · Score: 2, Informative

    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 mount and it's fantastic. Had to create my own syntax coloring though *shrug*. Python support is built in however.

    I love it. Expose` between the tabbed windows of both TextMate and Safari. It's extremely productive for me.

  10. Re:I understand your problem by Anonymous Coward · · Score: 0, Informative

    you're just jealous that your mom can't afford a mac for you

  11. check out Komodo by jbellis · · Score: 2, Informative

    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, ...)

  12. I also use emacs for python..but a bit differently by Zaurus · · Score: 2, Informative

    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 python interpreter, CVS, and subversion, and more--if you're really looking for "IDE"-mentality, but I mostly use it as an editor. I'll let others elaborate on that functionality.

    Just install Apple's X11 and developer tools, then either use fink to install an old stable version ("emacs" 21.2), or darwin ports to install a cutting-edge version ("emacs-devel", recent CVS snap [pre-release of 22]).

    Other good editors I've seen [don't know about IDE's per-se] are subethaedit [free for noncommercial], bbedit [not free], and vim.

  13. Check out Aquamacs by AnEmbodiedMind · · Score: 2, Informative
    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 is talking about 10.2 & 10.3).

  14. Just use Xcode by jcr · · Score: 4, Informative

    .. 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.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  15. IDE's don't help much with Python by slevin · · Score: 5, Informative

    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.