Best Cross-Platform, GUI Editor/IDE For Python? 144
What do you find is the best text editor for Python software development? I've tried several, and I'm always frustrated by the limitations of each. Eclipse is cool, but it's huge, and I've had multiple problems with corruption of the workspace. It got so bad at one point that every week or so I was tearing it down and recreating it. I spent so much time re-creating Eclipse's workspace that I found any productivity gains were lost due to Eclipse's brokenness. (Read more below.)
Unfortunately, there are no GUI WordStar-style editors and none of them are cross-platform with Windows.
So, that left me with Scintilla/SCiTE. Which is nice, but, the code browsing doesn't seem to be able do autocomplete with PyGTK (to be fair, Eclipse's didn't work so well, either in that regard, at least not on the default Ubuntu install)
SCiTE loads fast, does nice Python highlighting, and has the ability to run code right from the browser. Unforutnately, unlike Eclipse or Emacs, there's no ability to do step/trace style debugging. *sigh*
So, okay, does anyone have any other ideas?"
Some of what I've looked at and use (Score:5, Informative)
komodo edit [activestate.com] is an extremely powerful editor that works with a slew of languages on Windows, Mac and Linux. It is free as in beer. It is packaged by ActiveState as just an editor - but really it has many features that fall more into the IDE camp - yet it is light-weight and responsive - more like an editor. This review of komodo edit [h3rald.com] may be helpful.
Komodo IDE [activestate.com] is the big brother to Komodo edit I guess. I've never used it because the cost is outside my budget. ($295 for a full single user license - there is a student version but I don't know what it costs)
SPE [blogspot.com] is free/free I believe. It is multiplatform and the price is right to at least give it a try.
All these and more are listed on the python ide page [python.org] of the python.org wiki.
Personally - right now I use Komodo edit while I wait for python support in netbeans [netbeans.org].
Re: (Score:1)
I second the opinion on Komodo Edit. It does Python, and also Perl, PHP, Javascript, HTML, and too many more to count.
It also has syntax highlighting, code browsing, class structure trees, advanced search and replace, advanced editing features, etc. It's hands down the best free code editor available.
Re: (Score:1)
Since it's free I'd say it's at least worth a try.
Re: (Score:2)
I like Active State and I like what Komodo Edit is trying to do but I find it and Komodo IDE too slow.
Gedit, Gvim and Scite are quick. If I need to run a complicated RegEx, I will open the file in Komodo Edit, do the deed, and quit.
Re: (Score:1)
Re: (Score:2)
Re:Some of what I've looked at and use (Score:5, Informative)
Agreed, Komodo rocks. Just a correction - Komodo Edit is now free as in speech as well (they started calling it Open Komodo then changed the name back) - all the source is available under the MPL I think
Re:Some of what I've looked at and use (Score:4, Interesting)
And before I forget - Komodo does things I've seen no other editor do as well, like syntax highlighting and autocompletion on code from one format embedded inside others (e.g. CSS code with XHTML, Python code embedded in HTML templates, etc, etc)
Re: (Score:2)
Textmate does that, great feature.
Re: (Score:2)
Cool! Not being on OSX, I've never tried TextMate
In Komodo you can also define your own languages for syntax highlight and autocompletion, including the nesting.
Re: (Score:2)
For me, at least, the dividing line between an editor and an IDE is refactoring support. It's really the only must-have feature, although if you do have it its pretty nice to have a convenient source control interface.
I started back around 1980 using emacs. Historically, the IDE became important as the need for Windows programmers outstripped the supply of competent programmers. It was hard enough dealing with Windows, but put MFC on top of that and there was a lot of baloney you had to learn. The ID
Re: (Score:2)
Just to provide some perspective from the other side of the fence (I'm primarily a Win32 programmer)... The biggest issue for me is intellisense (do they call that autocompletion in the OSS world?). Yeah, Visual C++ 6.0 spoiled me. I've been training myself to use a plain editor lately (since I've done more Linux programming in recent days).
So when I ask around for an IDE, I'm mostly asking for three things (in order of least to greatest importance):
Re: (Score:2)
Well, pretty much every IDE will do everything you ask and then some. Many extensible programmer's editors like JEdit (and obviously emacs) do too. It's been possible to edit/compile/debug/build in emacs for almost thirty years now.
So, no, we in the non-Win32 world don't have to reach of the manual every time we need an API; we don't have to switch consoles to go between debugging and editing; we don't have to leave the editor to do a compile.
Re: (Score:2)
I didn't say you needed to reach for the manual all the time, I just said that *I* did/do ;)
I'm still somewhat unfamiliar with cross-platform IDEs, and my first tentative foray into Linux-based IDEs was several years ago (before Intellisense-like systems had made it in to OSS projects), so I just thought I'd give some perspective. I'm glad that most IDEs will do what I need nowadays though.
Re: (Score:1)
Wingware (Score:3, Insightful)
Re: (Score:2, Informative)
I second that -- Wing IDE is a pretty slick environment, a couple of my developers really love it. Its quite *fast* (faster than Komodo -- at debugging especially... well, it was when I benched them), has a lot of useful features, and is MADE FOR PYTHON (unlike Eclipse, emacs, etc).
Sadly, its not free...
Re: (Score:3, Informative)
Re: (Score:2)
Do you have a link for the free on open source projects? I'm looking but all I can find is that Wing IDE 101 is free - but it is missing most of the features of the other versions.
Re: (Score:2)
check the prices page, it explains it quite well
http://www.wingware.com/store/prices [wingware.com]
Re: (Score:2)
Thank you - missed that.
Re: (Score:3, Informative)
Re: (Score:1)
Seconded. Though I trade Kate for Vim with pychecker [sourceforge.net] mapped to :make. I find Vim is just fine for this, except when I have to debug something, in which case the $60 I paid for Wing IDE are more than justified.
I tried both Eric and Komodo and I think they're perfect in every way (perhaps Komodo a bit more so) except for the fact that they're desperately slow on both Linux and Windows. Same goes for Eclipse+PyDev.
Re: (Score:3, Informative)
I second this. I think Wingware is the best Python IDE available. It is a bit costly though. I also like PyDev-extensions for Eclipse, but not anywhere near as much.
In spite of all that, I mostly use TextEdit for all my editing needs.
Re: (Score:3, Informative)
Komodo (Score:2)
Vi/Vim! (Score:5, Insightful)
Re: (Score:1)
Re: (Score:2)
How well does vi do autocomplete?
Re: (Score:2)
With C / C++ it does really good. It looks in headers etc. and gives a good recommendation.
For Python, eh, not so good. I may not have it set up correctly but I only get recommendations based on what I've already typed. It won't look in modules etc.
Re: (Score:2)
Yeah I realized later that due to some internal Python problems omnicomplete wasn't being activated for Python. It's a long story that only seems to apply to my system (probably some file corruption)
Seems like you're on windows (Score:3, Interesting)
I love TextMate on the Mac.
There is a "version" for windows:
http://www.e-texteditor.com/ [e-texteditor.com]
Have you tried that yet? Its got a free trial at the least.
Emacs (Score:5, Informative)
Emacs with python.el. Seriously, I'd never be without it. Not only does it have indentation and syntax highlighting perfectly nailed, but it gives you lots of niceties like an interface to pylint and etags for smart completion, but all the "standard" Emacs stuff like the ability to edit files that are only reachable by obscure methods SSHing to the firewall, sudoing to another user, SSHing to the final destination, and sudoing to root.
Rally, there's no substitute.
Re: (Score:2)
I left out an important bit here:
I know you had problems with Emacs, but my point was that you might be better off fixing them than trying to find something else with similar functionality.
Re: (Score:1)
Indeed. My personal opinion is that emacs beats every text editor (yes, even vi - sorry) for just about every function I ever use it for.
I resisted it for about a decade after we got rid of our punch-cards, since at the time TECO was the ultimate in text editors, but eventually emacs won me over long after it ceased to be simply a pile of macros bolte
Re:Emacs (Score:4, Funny)
Indeed. My personal opinion is that emacs beats every text editor (yes, even vi - sorry) for just about every function I ever use it for.
I agree 100%
Of course, if I ever used emacs for anything, that would probably change. ;)
Re: (Score:2)
Rally, there's no substitute.
Actually, VersionOne [versionone.com] works as a Rally [rallydev.com] substitute.
:P
Re: (Score:2)
Don't all Makefiles have a "tags" target? :-)
Re: (Score:2)
So that was what the submitter meant when he talked about "code browsing"? Or maybe not, but that doesn't matter -- when I combine (a) TAGS support, (b) pydoc in a terminal window on the side, (c) unit tests in another terminal window and (d) paper and pencil, I don't feel I miss out on anything; I am not limited by the computer's ability to show
peppy sounds interesting (Score:2)
Hi,
Personally I write Python code in Vi or Emacs but I noticed Peppy.
Peppy uses Scintilla, is inspired by Emacs and is fully extensible in Python. This looks like fun!
See http://peppy.flipturn.org/
I have tried a Python IDE called Eric but it takes too much screen space on my EEE PC.
Finally, I will probably try the Netbeans editor when Netbeans 6.5 is out.
Eric (Score:1)
T
http://www.die-offenbachs.de/eric/index.html [die-offenbachs.de]
nedit (Score:2)
Re: (Score:2)
just looked at their web page. last news update was 2005. the last version (5.5) is dated 2004.
is it a dead project?
A few different options: (Score:3, Informative)
This page has a list: http://c2.com/cgi/wiki?PythonIde [c2.com] (including some mentioned above).
It also mentions http://www.die-offenbachs.de/eric/index.html [die-offenbachs.de] which is Free (speech and beer).
Personally, I use Gedit (though I know it's not cross platform). But there's a question. Why do you have to use the same editor on each platform? Are you moving around often enough that it becomes an issue?
Re: (Score:1)
Re: (Score:3, Insightful)
I don't know about you, but I have several computers on my desk, and the number multiplies considerably if you take VMs and remote servers into account, running a wide variety of different operating systems.
When you're developing cross-platform software, you'd be stupid not to test it on as many platforms as possible. And when you're testing software on a platform, it
SPE (Score:3, Interesting)
On Windows (even though SPE runs on it) I prefer PyScripter [mmm-experts.com] simply because that was the first IDE I used for python on Windows and I am fine with it.
Both the IDEs have syntax checkers - this is especially useful if you write some of your code on an editor like vim/emacs/gedit etc. and want to start editing that code in IDEs.
My advice is to choose an IDE and stick with it. Avoid shifting IDEs for python because of the indentation requirement and how each IDE might handle it differently.
Erics Python IDE, Wing IDE, Komodo. In that order. (Score:1, Informative)
Erics Python IDE [die-offenbachs.de]
Wing IDE [wingware.com]
Komodo [activestate.com]
If you're hell-bent on using an Editor, I can warmly recommend jEdit [jedit.org] for Python stuff. It's the best Editor in existance.
And one more thing: There is this think called 'Google' [justfuckinggoogleit.com], you may have heard of it. It usually answers this sort of question in under 10 seconds.
Bullshit (Score:5, Insightful)
And one more thing: There is this think called 'Google' [justfuckinggoogleit.com], you may have heard of it. It usually answers this sort of question in under 10 seconds.
Google will not give him concise recommendations based on personal experience from people he trusts. Slashdot will.
Re: (Score:2)
If you trust people on slashdot implicitly, I have a bridge I'd like to sell you.
Personally, I agree with the GP. Instead of asking slashdot, this should've been a google question.
My personal editor of choice is 'whatever editor is great on that platform.' I use Smultron on the Mac, Crimson Edit on Windows and VI on linux.
Cross-platform user-software almost universally suffers from the 'jack of all trades, master of none' syndrome. The conventions are different on the different platforms, why try to fit one
Re: (Score:2)
but he could have come to the table with a selection of apps he found and ask about those instead of taking the lazy mans way of asking without doing any research of his own.
There's a reason that URL, justfuckinggoogleit.com, exists. People are justfuckinglazy.com. IMO.
LoB
Re:Erics Python IDE, Wing IDE, Komodo. In that ord (Score:5, Insightful)
And one more thing: There is this think called 'Google', you may have heard of it. It usually answers this sort of question in under 10 seconds.
No it doesn't, jackass. A Google search [google.com] returns a wiki with over a hundred different editors listed, a useless "article" from the equally useless about.com that starts out with "What is a text editor?", a marginally useful blog post which reviewed 6 editors with the conclusion that:
PyDev is the clear choice if you have Eclipse experience. If not, well, the situation isn't pretty. Perhaps you'll have better luck with one of the IDEs we didn't review here.
another blog post reviewing VIM's features, and a smattering of Sourceforge sites and project homepages.
None of these search results offer what the OP came here for: thoughts, experiences, insight, and anecdotal information from a massive collection of peers.
Your snide remark just makes you look like an asshead, and completely canceled out what little value was added by your mindless links to project pages (let me guess, you did a Google search!).
Re: (Score:2)
None of these search results offer what the OP came here for: thoughts, experiences, insight, and anecdotal information from a massive collection of peers.
How deep into your search results do I have to go to find these things?
Re: (Score:2)
Better then google in this case would be programming.reddit.com [reddit.com].
There you will find that python programmers are whiny babies, and you should go use lisp or haskell like a real man.
Or someone will helpfully comment that "IDE's are hard, lets go shopping!"
But in all seriousness, the MOST of the folks at programming.reddit.com are pretty helpful, and that is a better forum for programming related questions then slashdot at the moment.
Re: (Score:2)
I can't recommend Eric enough...
Since it's PyQT based, as of Eric v4 it's seamlessly cross-platform... and integrates really nicely w/ a number of vcs systems... I've tried a number of them, and it's the best IMHO.
Mind you, a coworker of mine swears by SPE, so take that for what you will :)
Just to run down the three I'm familiar with:
Eric4: cross platform; qt4+qscintilla based; great editor; ok class browser; good vcs & project management; good debugger; poor command completion; handles lots of filetype
jEdit (Score:2)
jEdit is written in Java. That may be a recommendation or a condemnation, depending on your politics, CPU, and RAM.
Eric (Score:2, Informative)
Boa Constructor (Score:1)
Pasted from the Ubuntu add/remove description
RAD tool for Python and WxWindows application Boa-constructor is an IDE oriented towards creating cross-platform applications built on top of the Python language and the WxWindows GUI toolkit. It features: * visual wxWindows frame design, * object inspector and explorer, * syntax highlighting edit
Re: (Score:2)
Stani's Python Editor / SPE? (Score:2)
I've not used it cross-platform (the creator does) but you might want to take a look at Stani's Python Editor [stani.be]. Releases aren't that frequent, but the repository is updated more often and generally seems stable.
There's an out of date project on Sourceforge; development moved to SPE Project Page here [berlios.de].
Trouble with eclipse on ubuntu (Score:5, Informative)
I've had problems using Eclipse on Ubuntu before, the problems you had with Eclipse may be related.
1. Don't use the repositories for Eclipse. Download the linux version directly from the eclipse website, and run it.
2. Eclipse has problems with the default gcj jvm for Ubuntu. Solution here [ubuntu.com]
I suggest giving Eclipse another look. Download the latest ganymede, fix the jvm, add http://pydev.sourceforge.net/updates/ [sourceforge.net] to your update sites.
Re:Trouble with eclipse on ubuntu (Score:4, Informative)
+1
Never had problems, works beautiful.
Re: (Score:3, Informative)
I use Eclipse for java dev, not python, but I agree that it's generally better to install a local copy of the upstream eclipse rather using the packaged version.
Re: (Score:2)
I had the opposite experience, mainly with the transition of the Web Browser to Firefox 3/XulRunner 1.9.
Recently, on a RHEL box without access to the Red Hat update site (which was its own issue), but access to the RHEL rpms, using the version of 3.1 that was packaged by Red Hat, everything that was included worked very well (albeit it was releases behind). The upstream Eclipse 3.4 had issues with the Internal Web Browser (due to the fact that my rpm dependencies weren't fixed, and that xulrunner 1.7/1.8/1.
Re: (Score:1)
Re: (Score:2)
I use Eclipse on Ubuntu installed straight from eclipse.org, and I have the same nagging problem with corrupted workspaces. If the OP googles around, he can find some tips for fixing a corrupted workspace, such as by deleting specific directories out of it. You still lose a lot of state, including all your preferences. Sometimes you lose everything except your projects, which is almost as bad as rebuilding the whole workspace.
I use Eclipse 3.3 (Europa), the RCP download. I haven't heard that 3.4 has any
Hey Borland. (Score:2)
How about giving use TurboPython :)
Sorry but the fact that you like wordstar type editors made me think of my old beloved TurboPascal IDE.
Re: (Score:3, Insightful)
I myself would love an up-to-date version of Brief. I was even more productive in Brief that I've ever been in my second love, emacs. I know that later versions of Delphi, Turbo C++, etc. used an IDE which was Brief-like.
I know Crisp is still around, and it was based on Brief, but the price was always a bit steep for something which is just an editor.
For Python, I use WingIDE, as some others have recommended. A few years back, when I first gave Python a try and decided that it was the language for me, I
Re: (Score:1)
Regarding Brief, have you looked at Zeus? http://www.zeusedit.com/index.html [zeusedit.com]
Personally I'm a WordStar luddite who uses Semware's TSE http://www.semware.com/ [semware.com]
Re: (Score:2)
I still use Joe for my light editing on Linux.
Re: (Score:2)
While not updated.
http://www.briefeditor.com/index.htm [briefeditor.com]
M-x brief-mode (Score:1)
I myself would love an up-to-date version of Brief. I was even more productive in Brief that I've ever been in my second love, emacs.
I have no idea how good it is, having never used it or Brief, but there is a brief-mode in Emacs for "CRiSP/Brief". It does say in the comments that it's meant as a transition away from it, but maybe it works in reverse too.
Re: (Score:2)
Nifty, thanks for the pointers to the new Brief, Zeus and brief-mode.
If you're still reading, write it in Python! (Score:1)
I couldn't resist, even though my karma will take a hit...
Blast a weekend into a text area that highlights, then every day add a routine that integrates with the cross reference generator, and don't you have an editor with code browsing after a couple weeks?
Since you are still reading comments after all of those good lists of projects where others have already done it, don't you want to do it yourself?
Re: (Score:1)
One of the reasons I decided to try writing an editor is because while I've found some editor's that I can work in I wouldn't say I've been really satisfied with what I've used. There are already some full featured open source editor/IDE's written in Python which I intend to refer to once I have a better understanding of it so that I can try and learn fro
Slickedit (Score:2, Informative)
Slickedit [slickedit.com]
Why cross-platform? (Score:3, Informative)
Re: (Score:2)
I work in Ruby, and most of us seem to use TextMate on OS X -- in fact, it's cited as a reason for wanting OS X in the first place.
I use Linux and Kate.
Is there a reason OP can't install their OS of choice?
Re: (Score:2)
Some have related the use of vi to hair loss. I already switched to joe and emacs, just in case.
Geany (Score:2)
For working on smaller projects i find geany to be indispensable. It has a comprehensive project mode, document browser and a symbol tree.
http://www.geany.org/ [geany.org]
Leo (Score:2)
Take a look at Leo ( http://webpages.charter.net/edreamleo/front.html ) which works wherever the python libraries it uses work (Linux and Windows, at a minimum). It supports multiple languages but does particularly well in python. The workflow concepts it introduces are *very* well worth the effort to learn. If you want to change Leo's behavior, you can add buttons, scripts or "plugins" in ways similar to (better than?) the way you can program emacs in lisp -- of course, the language you'll use is python
Idle? (Score:2)
Sure, it's not a full fledged Eclipse style IDE with buttons and menus for "everything", but it comes with Python.
Re: (Score:1)
BBEdit (Score:2, Interesting)
It's not x-platform (it runs on OSX), but it's probably the best editor I've ever used (and this includes Eclipse, Emacs, VIM, SNiFF+, MS DOS's Edit, VisualStudio, various Borland editors, Metrowerks, and just about every mainstream editor included in various distributions of Linux).
It supports Python as well as dozens of other languages; I've used C/C++, Perl, shell scripting, PHP and HTML on it; looking at the menu I count 42 different languages or variants. It supports multiple SCM types, including CVS
Re: (Score:2)
BBEdit is a well-crafted and powerful tool. It's the best code editor for OS X.
I do not think that all the changes to its UI have been for the better, though.
In general, OS X is a good-looking *and* powerful platform for coding. Especially once you install Fink http://www.finkproject.org/ [finkproject.org].
Re: (Score:3, Funny)
SNiFF+, MS DOS's Edit, VisualStudio
That was totally cruel and uncalled for. Not only do you insult the other editors by including it, but you bring back unwanted memories for the older folks. For shame, sir!
Eclipse + Pydev (Score:3, Informative)
Although I agree that Eclipse is huge, bloated, slow, and buggy, I haven't run into problems as serious as the ones you've described. I have to restart it every once in a while, when the text editor (you'd think they could get at least this part right) gets fubared and starts displaying gibberish onscreen, but I've never had the workspace become corrupted, or anything else that isn't solved by a restart.
I've been working with Eclipse and Pydev for a couple of years, and it gets the job done. There are plenty of things that I wish were different, or less buggy, but after considerable searching and experimenting with most of the other products mentioned here, Eclipse still works better.
Butterflies (Score:1, Redundant)
Another vote for Eric (Score:3, Insightful)
I did my master's thesis in eric3 and enjoyed it very much. I originally started my project using emacs, but migrated over when I needed integrated debugging tools.
eric added the visual debugging you were asking for. You can set breakpoints all over the place, step through the source, and navigate through the variable hierarchy. Good stuff.
I think the only thing that annoyed me somewhat about eric was I couldn't set a light on dark theme, so my late night coding sessions wouldn't annoy the mrs. But that's just cosmetic.
Bonus points if your name happens to be Eric, I suppose.
Re: (Score:2)
I completely agree. Eric3 is a great Python IDE. It uses Scintilla for the editor, so it depends a bit on if you like that, but otherwise it is a very good and powerful IDE, with all the functions I can think of one could need. I could give a list, but it's free, so try it and see if you like it.
I had a long search to find a good Python IDE, and tried most of the other suggestions in this topic. I think Eric3 is just the best when it comes to Python, because it is made in Python for Python.
Especially if you
Check out Geany (Score:1)
Eric For Python Editing (Score:1)
Try TextMate (Score:2)
I love TextMate. It's the greatest thing I've ever used for programing.
nostalgia.. (Score:3)
I have no answers. I use xterms with vim these days.
but my favourite editors ever were CygnusEd [apc-tcp.de] on Amiga, and StrongEd [iconbar.com] on Acorn RiscOS.
vim works for me, because although it doesn't have the fancy features of an IDE, it does allow me to work on any machine anywhere.
But I do particularly miss StrongEd. That had some great features I've not seen anywhere else. Wonderful for editing lists as it had a feature that allowed you to select a block of text, then move the cursor into the middle of a line. Whatever you inserted or deleted was replicated on every line selected.
Re: (Score:2)
But I do particularly miss StrongEd. That had some great features I've not seen anywhere else. Wonderful for editing lists as it had a feature that allowed you to select a block of text, then move the cursor into the middle of a line. Whatever you inserted or deleted was replicated on every line selected.
Ultraedit (windows shareware) has that ability. I've used it a ton when editing large tab-delimited data definition files at work. Emacs also has some commands to do vertical editing, but I don't use them often enough to remember them (apart from M-x edit-picture).
Syn/Smultron or Idle. (Score:2)
Zen and the Art of Eclipse (Score:3, Informative)
Here's what I have discovered through blood, sweat, and tears:
* Use Eclipse 3.3.2 [eclipse.org] (instead of 3.4.x -- I found 3.4 to be VERY unstable with PyDEV -- and the debug shell doesn't work)
* Use PyDev 1.3.20 [fabioz.com] (or later)
* GET Pydev Extensions -- it's well worth the $42 (gives you an interactive debug shell and PyLint integration)
* Virtual Word Wrap [ahtik.com] (it should be built in, but is not).
I've found that its best to NOT let Eclipse copy files to its "workspace" directory -- force it to use the existing files. I have adopted the habit of taking regular tarball backups of the workspace directory (and files I'm editing). Be sure you set your PYTHONPATH properly in your debug configuration, turn on line numbering and display of whitespace characters.
Unfortunately, I haven't found any IDE that is as mature and complete. If you must use something else, I recommend Geany [geany.org]. WingIDE is also good, but lacks support for Projects, sophisticated debug configurations, etc.
Eric (Score:2)
I think eric3/4 with the appropriate plugins will do what you are asking.
Re: (Score:2)
Re: (Score:2)