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."
Have you seen... (Score:5, Informative)
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).
Re:Have you seen... (Score:5, Interesting)
Eclipse (Score:2)
Google was my friend and it can be yours too. Here's some info on Python plugins for Eclipse: http://wiki.python.org/moin/EclipsePythonIntegrat i on [python.org]
Re:Eclipse (Score:2, Funny)
Re:Have you seen... (Score:1)
similar situation (Score:5, Insightful)
Re:similar situation (Score:3, Interesting)
On OS X, TextMate [macromates.com] 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)
Objective C (Score:5, Funny)
Re:Objective C (Score:1, Insightful)
the truth about objective-c (Score:5, Informative)
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).
Re: (Score:3, Informative)
Re:the truth about objective-c (Score:3, Interesting)
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
Re:the truth about objective-c (Score:2)
Mac users... *sigh*
Re:the truth about objective-c (Score:1)
Re:the truth about objective-c (Score:1)
ummm... NetScape probably, they use to throw tons of NS software on my computers back when they were big.
*ducks and runs away*
Re:the truth about objective-c (Score:1)
However, when I say "Cocoa" I assume that it is apparent that I mean NextStep... that's common knowledge, eh?
Re:the truth about objective-c (Score:2, Insightful)
That said, most of what you need to take advantage of most languages these days are the standard packages and frameworks, rather than the syntax. I guess that's another debate altogether - simple languages with large standard libraries vs complex languages.
Re:Objective C (Score:2)
Apparantly you missed the joke, and luckily this isn't worth my modpoints.
Re:Objective C (Score:2)
Earlier on Slashdot:
Steve Jobs thinks Objective C is Perfect? [slashdot.org]
Re:Objective C (Score:1)
Text Editors... (Score:5, Interesting)
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 [macvim.org]
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.
Re:Text Editors... (Score:2)
(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)
The folk over at BareBones have been cruising on reputation far too long with their substandard products...
Re:Text Editors... (Score:1)
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.
BBEdit. (Score:2)
If you are a BBEdit user, and you have a complaint about the software, then tell them. [barebones.com]
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. [listsearch.com]
BBEdit might look expensive in terms of absolute dollars, but as with any purchase, you have to look at the benefits vs. the cost
Re:BBEdit. (Score:1, Troll)
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
Re:Text Editors... (Score:2)
Re:Text Editors... (Score:1)
Re:Text Editors... (Score:2)
Re:Text Editors... (Score:1)
Re:Text Editors... (Score:4, Interesting)
It's free for personal use and available at http://www.codingmonkeys.de/subethaedit/ [codingmonkeys.de]
The collaborative text editing feature is cool, but I never really found a use for it.
Re:Text Editors... (Score:1)
"AAAAAHHH HOW DO I QUIT WITHOUT SAVING?????"
emacs (Score:3, Informative)
I also use emacs for python..but a bit differently (Score:2, Informative)
Re:I also use emacs for python..but a bit differen (Score:2)
I thought OS X came with emacs (the version I have in Panther is 21.2.1 in fact).
Re:I also use emacs for python..but a bit differen (Score:1)
Both of the versions I installed above would connect to X11 as well as work in a terminal.
Check out Aquamacs (Score:3, Informative)
If you want Emacs for OS X you should check out Aquamacs [aquamacs.org]. 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
Re:Check out Aquamacs (Score:2)
Yes I'm being a smart ass, but seriously, what are the castrations? Are you just pissed at the one buffer - one file model they've introduced?
Re:Check out Aquamacs (Score:2)
About the customizations you're right to some extend - Aquamacs has different defaults. It's n
KOMODO? (Score:3, Interesting)
I just use VIM, but I wouldn't consider it an IDE.
You don't need an IDE (Score:2, Informative)
The Unix Programming Environment ... (Score:1)
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
Re:The Unix Programming Environment ... (Score:2, Insightful)
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
Re:The Unix Programming Environment ... (Score:1)
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
Re:The Unix Programming Environment ... (Score:2)
Re:The Unix Programming Environment ... (Score:1)
To address your questions:
1. You have a valid point there. Nothing can c
Re:You don't need an IDE (Score:2)
Your best method to learn the language is to find a good book on the language and an IDE you
Re:You don't need an IDE (Score:2)
MacPython (Score:4, Interesting)
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.
Komodo on OS X is a solid choice (Score:3, Informative)
Re:Komodo on OS X is a solid choice (Score:3, Interesting)
TextMate. (Score:1)
Re:TextMate. (Score:4, Interesting)
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.
Re:TextMate. (Score:2)
Re:TextMate. (Score:1)
Re:TextMate. (Score:2)
Re:TextMate. (Score:2)
Re:TextMate. (Score:1)
Or I'm just stupid. entirely possible.
Re:TextMate. (Score:2)
Eclipse w/Plugin (Score:4, Interesting)
Re:Eclipse w/Plugin (Score:5, Informative)
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.
Re:Eclipse w/Plugin (Score:1)
Re:Eclipse w/Plugin (Score:1)
I understand your problem (Score:3, Funny)
Ask you boss to get you your own computer and stop using Mac's.
Re:I understand your problem (Score:2)
SPE (Score:1)
PyQT bindings (Score:3, Informative)
If you want a cross-platform GUI library for Python you should consider PyQT [riverbankcomputing.co.uk] 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.
TextMate Screencast featuring Python (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.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/ [macromates.com]
I second the nomination for textmate (Score:3, Informative)
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
The Best of the Best Sir! (Score:2, Interesting)
Also, as a free alternative try winpdb:
http://www.digitalpeers.com/pythondebugger/ [digitalpeers.com]
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.
Try Wind IDE (Score:1)
Re:Try Wind IDE (Score:1)
What about (Score:1)
Comment removed (Score:5, Informative)
Re: (Score:2)
Emacs or Eclipse! (Score:1)
Eclipse has a python development plugin and Eclipse is well awesome!
Bluefish is quite nice (Score:1)
Not an IDE, but a LEO (Score:4, Interesting)
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.
not open, and not free, but (Score:2)
You can find it here [macromates.com].
IDE's don't help much with Python (Score:5, Informative)
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.
Re:IDE's don't help much with Python: Leo (Score:1)
http://sourceforge.net/project/showfiles.php?group _id=3458&package_id=29106 [sourceforge.net]
features flexible key bindings, an Emacs-style minibuffer, and many more editing commands.
This is a great time to suggest further improvments.
Edward
how dynamic is python? (Score:2)
SLIME (Score:2)
BTW, emacs all the way
Re:SLIME (Score:2)
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]);
else
do_b();
end
end
Now when I call "string".foo(), it will eiteh rhave just enough parameters, or not enough
Highly recommend Wingware (Score:1)
I've been using the Windows version of the Wing IDE [wingware.com] 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 standard editor... (Score:1)
Re:the standard editor... (Score:1)
What would a Python IDE provide... (Score:2)
Try PyOxide (Score:1)
Wing (commercial) might be a good choice (Score:1)
How about IDLE? (Score:1)
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.
No one has yet to mention JEdit... (Score:1)
Just tried Eclipse -- DON'T DO IT (Score:2)
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.
How
Re:Python IDE (Score:1)