Skip to main content

Real Python IDEs

After reading a blog post titled "The Abysmal State of Python IDEs" (which I won't link to because it's minformative, but it's easy to google by title), I wondered how the author managed to pick such a lousy group of IDEs to try. He tried "ActiveState" (does he mean PythonWin?), DrPython, SPE, and ScrIDE, only one of which is in the top 10 google hits for Python IDE.

The google top 10 include Eric, Wing IDE, Radio Userland, SPE, PyDev, and Komodo. The Yahoo and MSN top 10s are similar. Except for Radio Userland, this is a much better group to start with, and one that in fact does include what I think are the only 3 Python IDEs worth trying.

So how does a newbie end up picking such a lousy group of IDEs to try? The only likely possibility seems to be that he went to the top google hit, the python.org wiki page. Or possibly he went off of the top MSN hit, the c2 wiki Python IDE page. Both are (rather, were) heaping wads of products that mostly weren't IDEs at all, or were IDEs for other languages that happened to include Python syntax coloring.

Syntax coloring and maybe a Run button doesn't qualify you as a Python IDE in 2008, guys. (Sorry, IDLE.) Integrated means you need to integrate something nontrivial, preferably a debugger, although gui builders can also count.

So I organized the python.org IDE page by feature set and moved the non-IDEs to the Editors page, even if a pedant would note that they were IDEs, just not really for Python. That's not what 99.9% of people are looking for when they go to a Python IDE page, so let's be useful rather than pedantic. I also elided the non-IDEs from the c2 page.

Comments

Anonymous said…
Good job, thanks!
Anonymous said…
FYI - ActiveState is the company that produces the Komodo line of products.
Personally I think Komodo Edit is pretty slick, although it's not an IDE.
projecktzero said…
Komodo comes in a couple of flavors: Komodo Edit which is free and Komodo IDE which cost $$$. Check out the features at the Activestate site.
Anonymous said…
which do you think are the best for development on Linux - other than vim/emacs
out of curiousity, what are the 3 best IDEs that you mentioned, and what is your preference among those?
Jonathan Ellis said…
Brian: Yes, Komodo would be a logical conclusion at first but if you read the comments he did not try Komodo until later.

Patrick: I consider the ones in the top category on the new page (introspection-based completion and debugger) to be the best, so (alphabetically) Komodo, PyDev, and Wing. I use Wing myself but if you are on a budget I think it is hard to beat Komodo Edit, and for $30 PyDev + Extensions is very compelling if you can put up with Eclipse.

Anonymous: any of those three work well on Windows, OS X, and Linux. The only caveat is that Wing requires X to run on OS X (but not Windows).
thanks much,
much of my classwork is in Python and I've been jumping back and forth between IDLE and Notepad2, and it sure is painful.
Anonymous said…
So textmate counts as an IDE?

Anyway, Visual Studio is also a cool IDE for Python, but it will only be useful if you pick IronPython flavour. Although today not all Python programs run on IronPython, that is one of the targets.
Jonathan Ellis said…
> So textmate counts as an IDE?

I may be mistaken, but my impression is that textmate does not have either introspection-based code completion or an integrated debugger or an integrated gui builder. So no.
Bill Mill said…
Do you consider IPython to be an IDE? I do, just a non-traditional one that offloads editing.
Jonathan Ellis said…
IPython is very useful but it is not an IDE by any reasonble definition, even ones much more permissive than mine. :)
Tim G said…
One can run Eclipse + PyDev for $0 and it's actually a rather good python IDE. I know a lot of people really hate Eclipse, which I can understand (although I think it's gotten a lot better recently), but personally I do lots of java and not as much python, so it's perfect for me. I haven't tried the PyDev extensions, but just plain PyDev is free and is really useful on its own.
Paul R. Potts said…
"So how does a newbie end up picking such a lousy group of IDEs to try?"

Well, this newbie* doesn't necessarily want to try to reconstruct the chain of Googling that led to picking these, but it had something to do with the Google search terms "python IDE macos X free." I did definitely look at python.org Wiki.

I had previously been using PythonWin, which is what you get from ActiveState if you look for a Python tool that isn't Komodo, but it isn't cross-platform.

Anyway, kudos for putting together yet more resources. My original post certainly brought out a surprisingly large number of comments.

*It feels a bit odd for this 40-year-old software engineer to be termed a newbie... but to Python, I guess it is technically correct.
Unknown said…
Thanks for cleaning up those wiki pages. That was sorely needed!
Anonymous said…
Great Job, but you make PyScripter sound as if it's something just for Delphi. It's not, and its my IDE of choice right now, and I have tried just about everything going (Non Commercial).

What really suck, are the gui builder IDE's. BOA is the only (open source) one of note, but the project seems to have died :-(
Anonymous said…
""" What really suck, are the gui builder IDE's. """

I agree...

I've seen so many people coming to Python, loving the language and then ask where the GUI designer is ("you know like in Visual Studio"?)
I understand it is very hard to make a reasonable GUI designer but strangely the Python community doesn't seem to care.

As much as I love Python/WxPython when it comes to make rich/complex GUI there's no way to stay competitive "with deadlines" while staying with Python. I found that learning C# and use Visual Studio C# express made me lose much less time for GUI centric projects. Ironic. I think Python won't gain lots more adoption in the future because of this lack.

Concerning Python IDEs I was using SPE but moved away since there's no more support/builds on windows. Tried PyScripter which was fine but had problems to kill properly python scripts/app launched from it. Tried komodo edit which lacks many features I need.

I've finally settled to the free pydev which I really find excellent.

I didn't use Eclipse before so It was a little weird to install properly first (Eclipse was made for static languages) but after that it was just happiness. Also the next version of PyDev will have the missing interactive console in the IDE (thanks Fabio!).
http://pydev.blogspot.com/2008/03/interactive-console-in-pydev.html

Would be paradise with a GUI designer :)
Steve Lianoglou said…
"""Would be paradise with a GUI designer"""

Francois: Since you like PyDev show much, and are hankering for more (like a GUI designer), you should consider supporting the author by actually paying for PyDev Extentions.

This isn't a comment to you specifically, but I think it bears repetition every now and again. Good work should be rewarded, even if it's being given away for free.
Anonymous said…
Nice job! It's little things like this that make a difference.
Anonymous said…
Just a note on Komodo Edit (after reviewing the editors page), it is Free and Open Source, largely under the same tri-license as Firefox, except that we use a lot of 3rd party components that are under various OSI licenses. "OpenKomodo" is just the project with the source repositories, Komodo Edit is the build from that.
Regards,
Shane Caraveo (ActiveState)
Anonymous said…
@ steeve L:

I agree (I made a donation to stani SPE when I used it), and intended to do so for PyDev that I use now, in fact I've just done it :)

Never-the-less, for such a complex/strategic task as building a good GUI designer I think that the PythonSoftwareFondation should also promote/support it in a way or another if we want it to happen.
Anonymous said…
@francois:
What do you mean by SPE not being supported on Windows? I'm running SPE 0.8.4.d on windows right now.
Anonymous said…
@ Anonymous

""" What do you mean by SPE not being supported on Windows? I'm running SPE 0.8.4.d on windows right now. """

Yes me too I was but as I said above : " there's no more support/builds on windows."

Unless I'm mistaking the last build for Windows is version 0.8.3 from october 2006:
http://developer.berlios.de/project/showfiles.php?group_id=4161

If you know of a newer one please let me know.

Stani switched to Ubuntu a year ago I think. So obviously it's still possible to svn checkout the code but it doesn't have the same level of 'OS integration' as a proper installer and also SPE was the Python IDE I was advocating to beginners (who don't yet know what a svn is).

francois
Ralf said…
Please consider Ulipad (http://code.google.com/p/ulipad/) for your IDEs. It is a great editor dedicated to Python and supports anything you need - except gui building. Some of its features:
Syntax colouring/check, autocompletion, calltips, class browser, integrated shell, bookmarks, easy memo, code snippets,sessions, subversion support, ftp client, live regular expressions, debugger, todo list, ...
I use this great editor for private projects and also at work
Sean said…
So is there any decent ide that incorporates a gui builder? Free, open source or not, I don't care.

I am looking to learn a new language, but I am frustrated by the lack of ecosystem and decent ides for Python et al.
jonathan lim said…
Thanks for the info.
Owen Jones said…
"So is there any decent ide that incorporates a gui builder? Free, open source or not, I don't care.

I am looking to learn a new language, but I am frustrated by the lack of ecosystem and decent ides for Python et al."

Me too. Any suggestions?

Popular posts from this blog

Why schema definition belongs in the database

Earlier, I wrote about how ORM developers shouldn't try to re-invent SQL . It doesn't need to be done, and you're not likely to end up with an actual improvement. SQL may be designed by committee, but it's also been refined from thousands if not millions of man-years of database experience. The same applies to DDL. (Data Definition Langage -- the part of the SQL standard that deals with CREATE and ALTER.) Unfortunately, a number of Python ORMs are trying to replace DDL with a homegrown Python API. This is a Bad Thing. There are at least four reasons why: Standards compliance Completeness Maintainability Beauty Standards compliance SQL DDL is a standard. That means if you want something more sophisticated than Emacs, you can choose any of half a dozen modeling tools like ERwin or ER/Studio to generate and edit your DDL. The Python data definition APIs, by contrast, aren't even compatibile with other Python tools. You can't take a table definition

Python at Mozy.com

At my day job, I write code for a company called Berkeley Data Systems. (They found me through this blog, actually. It's been a good place to work.) Our first product is free online backup at mozy.com . Our second beta release was yesterday; the obvious problems have been fixed, so I feel reasonably good about blogging about it. Our back end, which is the most algorithmically complex part -- as opposed to fighting-Microsoft-APIs complex, as we have to in our desktop client -- is 90% in python with one C extension for speed. We (well, they, since I wasn't at the company at that point) initially chose Python for speed of development, and it's definitely fulfilled that expectation. (It's also lived up to its reputation for readability, in that the Python code has had 3 different developers -- in serial -- with very quick ramp-ups in each case. Python's succinctness and and one-obvious-way-to-do-it philosophy played a big part in this.) If you try it out, pleas

A review of 6 Python IDEs

(March 2006: you may also be interested the updated review I did for PyCon -- http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html .) For September's meeting, the Utah Python User Group hosted an IDE shootout. 5 presenters reviewed 6 IDEs: PyDev 0.9.8.1 Eric3 3.7.1 Boa Constructor 0.4.4 BlackAdder 1.1 Komodo 3.1 Wing IDE 2.0.3 (The windows version was tested for all but Eric3, which was tested on Linux. Eric3 is based on Qt, which basically means you can't run it on Windows unless you've shelled out $$$ for a commerical Qt license, since there is no GPL version of Qt for Windows. Yes, there's Qt Free , but that's not exactly production-ready software.) Perhaps the most notable IDEs not included are SPE and DrPython. Alas, nobody had time to review these, but if you're looking for a free IDE perhaps you should include these in your search, because PyDev was the only one of the 3 free ones that we'd consider using. And if you aren