Best Cross-Platform, GUI Editor/IDE For Python?
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.)
Morgan Greywolf continues: "I've also done the Emacs thing. Emacs is cool, but I found that I missed code browsing. So then I installed the Emacs Code Browser, Semantic and associated elisp code and found that it didn't work right half the time. I also seem to prefer either vi/Vim style editors, CUA-style editors, or WordStar-style editors.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?"
komodo edit 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 may be helpful.
Komodo IDE 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 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 of the python.org wiki.
Personally - right now I use Komodo edit while I wait for python support in netbeans.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
Wing IDE, although I usually just work in Kate.
What I'm listening to now on Pandora...
Vi/Vim/GVim!
I love TextMate on the Mac.
There is a "version" for windows:
http://www.e-texteditor.com/
Have you tried that yet? Its got a free trial at the least.
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.
Dewey, what part of this looks like authorities should be involved?
This page has a list: http://c2.com/cgi/wiki?PythonIde (including some mentioned above).
It also mentions http://www.die-offenbachs.de/eric/index.html 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?
I wank in the shower.
On Windows (even though SPE runs on it) I prefer PyScripter 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.
... and I shall strike upon thee with great vegeance, furious anger and a slightly positive karma.
I like this one: http://www.die-offenbachs.de/eric/index.html It's based on Qt4 so it should work on windows as well, though I haven't tried.
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
I suggest giving Eclipse another look. Download the latest ganymede, fix the jvm, add http://pydev.sourceforge.net/updates/ to your update sites.
Slickedit
I use different editors at work (SubEthaEdit) and home (vim) and amazingly, my brain doesn't hurt.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
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.
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 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!).
I have found there are just two ways to go.
It all comes down to livin' fast or dyin' slow. -REK, Jr.
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 looked into the IDEs available and spent the money for it. Well worth it, even though 95% of my Python coding has been unpaid hobby-type stuff. And Wing is cross-platform - I run it on OS X, but have used it on Windows too.
I tried Komodo (Editor and IDE) and Eclipse lately, but they didn't appeal to me.
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 and Subversion.
http://www.barebones.com/products/bbedit/
Even better: the company is great. They came out with a new version 8 months after I bought the previous version, and sent me a free key to upgrade!
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.
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.
I have no answers. I use xterms with vim these days.
but my favourite editors ever were CygnusEd on Amiga, and StrongEd 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.
The reason girls and Windows users don't understand UNIX is because all the documentation is in Man files.
Here's what I have discovered through blood, sweat, and tears:
* Use Eclipse 3.3.2 (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 (or later)
* GET Pydev Extensions -- it's well worth the $42 (gives you an interactive debug shell and PyLint integration)
* Virtual Word Wrap (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. WingIDE is also good, but lacks support for Projects, sophisticated debug configurations, etc.