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."
...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).
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
i wish i was but oh well
Aparently Objective C is perfect and all you need
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.
t ml
I know of two text editors that provide excellent Python integration.
* BBEdit: http://www.barebones.com/products/bbedit/index.sh
* Vim: http://macvim.org/OSX/index.php
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.
My father is a blogger.
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 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 (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).
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.
i don't care
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).
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.
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.
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.
My
>all my work computers are Mac's.
Ask you boss to get you your own computer and stop using Mac's.
I don't know the meaning of the word 'don't' - J
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. http://www.stani.be/python/spe/blog/
jEdit with Python-related plugins, or Eclipse with PyDev or TruStudio
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.
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.moit'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/
Google was my friend and it can be yours too. Here's some info on Python plugins for Eclipse: http://wiki.python.org/moin/EclipsePythonIntegrati on
www.clarke.ca
WingIDE is used extensively for most large commercial and otherwise software projects. Most of the developers at OSAfoundation.org use it.
Also, as a free alternative try winpdb:
http://www.digitalpeers.com/pythondebugger/
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 (http://wingware.com./ 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.
Put Unix on your mac....er. waitaminute.
Smultron? Since everyone else is suggesting text editors, might as well throw in the one I use.
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.
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, ...)
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.
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).
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 preinstalled with the best and most mature one ever developed? And if you're on windows it's a simple matter of installing Cygwin.
Yes, apart from ctags and syntax high-lighting, this environment is not language aware, but that is one of its strengths!
It is comprised mainly of langauge agnostic text processing tools, so it works the same way on any programming language. And when you are developing a system written in multiple languages (right tool for the right job anyone?) transitioning between those languages is seamless.
So come back to the shell: the one true IDE.
.. 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."
Emacs is, well, it's Emacs.
Eclipse has a python development plugin and Eclipse is well awesome!
Reality is nothing but a collective hunch.
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.
could it be?
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.
--
Don't like it? Respond with words, not karma.
You can find it here.
Those who know, do not speak. Those who speak, do not know. ~Lao Tzu
Hey my name is Renee and my friends name is Brook and we would love to chat.
First off, I've been a BBEdit beta tester on and off.
... if you can find a tool that makes you 1% more productive, that you have to buy an upgrade for every 2 years, it might be worth 2% of your annual salary. Don't look at editors in terms of price -- look at them in terms of efficiency. How is it that companies can justify shelling out for bigger monitors, or Photoshop, or Quark? It's because they can recoop the value.
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
(of course, if you're a consultant, charging by the hour, and have fixed contracts, then you might not want to upgrade)
It's easy to bitch with generalizations, but you haven't given any concrete reasons about why the other editors are better (other than price, which may be a moot point, as I've said).
Build it, and they will come^Hplain.
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.
"Your superior intellect is no match for our puny weapons!"
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.
The solution to that problem is simply more introspection. See http://common-lisp.net/project/slime/ for an example.
;)
BTW, emacs all the way
Try Corewar @ www.koth.org - rec.games.corewar
As I read this, at 21:23 EST, the parent is modded 'Funny'. Actually, Emacs is a perfectly reasonable editor for writing Python code. As another post points out, Emacs provides highlighting and indentation appropriate for Python. That may sound trivial but Python, for the uninitiated, completely relies on indentation. For instance, a loop is defined by indentation. When the indentation changes, the loop ends. Many Python programs can be executed from within Emacs. (Not all though; some commands don't work from within Emacs.)
I usually write Python code in two windows. One window is running Emacs and the other is for running the code. Given the nature of Python, that's all the IDE that I need. I don't bother with Idle because it doesn't provide any particular benefit for me. When I write assembly code for a microcontroller, I need a really good IDE. Having a simulator and being able to single step through the code is essential. Python is different. It's very fast to write and all you need for debugging is a few print statements.
Please somebody mod the parent insightful.
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.
...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?
Google groups, very handy. read about 6 editor/IDE that will let you work in C, perl, python, ruby, SQL, HTML on multiple O/S (except for textmate): Jedit, eclipse/pydev/trustudio, emacs, vim, textmate, komodo,
By Glenn Andreas. Quite nifty. http://projects.gandreas.com/pyoxide/
According to the following readworthy review, http://spyced.blogspot.com/2005/09/review-of-6-pyt 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.
"Money is a sign of poverty." - Iain Banks
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.
Free Programming BookLearn to program
Hi. I'm the author of Leo. I've been working for the last 6 months on improving Leo's text editing. The latest public version:
p _id=3458&package_id=29106
http://sourceforge.net/project/showfiles.php?grou
features flexible key bindings, an Emacs-style minibuffer, and many more editing commands.
This is a great time to suggest further improvments.
Edward
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. With the appropriate plugins, you can make it whatever you want. I would recommend VIM, but it's no too user-friendly. Go with JEdit; I promise you that you will love it.
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.
However, before you try switching to Eclipse have a look at Bug 14654 and Bug 5138. Are you really going to find an editor usable when it fails to get double-clicking right? You might think the problems will be fixed soon, but before you assume that consider that folks have known about the issue for four years!
I'm afraid I will still be counted among those people who use a text editor.
Huh? I don't understand.
I thought OS X came with emacs (the version I have in Panther is 21.2.1 in fact).
The version of emacs that comes with OS X is both very old (I believe 21.2 was released in 2002) and will not connect to an X windows manager like Apple's X11.
Both of the versions I installed above would connect to X11 as well as work in a terminal.