Slashdot Mirror


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?"

31 of 144 comments (clear)

  1. Some of what I've looked at and use by stoolpigeon · · Score: 5, Informative

    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?
    1. Re:Some of what I've looked at and use by khanyisa · · Score: 4, 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

    2. Re:Some of what I've looked at and use by khanyisa · · Score: 3, 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)

  2. Wingware by Otter · · Score: 2, Insightful

    Wing IDE, although I usually just work in Kate.

    1. Re:Wingware by vio · · 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...

    2. Re:Wingware by ranulf · · Score: 2, Informative

      I too discovered Wingware when I tried out a few IDEs for Python. It was by far the best of the ones I tried, and they even let you use it free on open source projects... Well worth trying out.

    3. Re:Wingware by MountainLogic · · Score: 2, Informative

      I'd have to agree that Wing is a nice, solid, thin and clean solution. There is a free limited version and a low cost (about $35 IIRC) full version.

    4. Re:Wingware by Daimaou · · Score: 2, 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.

    5. Re:Wingware by 3.2.3 · · Score: 2, Informative

      I second Wing. The Wingware guys give fantastic service. They contibute hugely to the Python community. And Wing is just a freaking great Python IDE. SVN integration is nice. Stack monitor is nice. In-stackframe interpreter is golden. Zope/Plone integration is nice. Completely love it. I have a 3 OS license and use it all the time on all three.

  3. Vi/Vim! by thedak · · Score: 5, Insightful

    Vi/Vim/GVim!

  4. Seems like you're on windows by self+assembled+struc · · Score: 2, Interesting

    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.

  5. Emacs by Just+Some+Guy · · Score: 4, 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.

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:Emacs by geminidomino · · Score: 3, 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. ;)

  6. A few different options: by apathy+maybe · · Score: 2, Informative

    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.
    1. Re:A few different options: by Haeleth · · Score: 2, Insightful

      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 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's really much more convenient to edit the code on the same platform you're testing it on, instead of constantly copying it back and forwards.

      I consider it a great advantage of the editor I use that it runs equally well on all those platforms, using the same configuration files so all my preferences are always there, and letting me just get on with the job of editing instead of constantly having to try to remember what feature's in which menu or what keys to press to get it. My life has become much simpler since I abandoned the Windows-only editor I used to love...

  7. SPE by nbharatvarma · · Score: 3, Interesting
    I prefer Stani's Python Editor (SPE) when I work on OSX or Ubuntu.
    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.
  8. Eric by wlad · · Score: 2, Informative

    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.

  9. Trouble with eclipse on ubuntu by tangent3 · · 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

    I suggest giving Eclipse another look. Download the latest ganymede, fix the jvm, add http://pydev.sourceforge.net/updates/ to your update sites.

    1. Re:Trouble with eclipse on ubuntu by afd8856 · · Score: 3, Informative

      +1

      Never had problems, works beautiful.

      --
      I'll do the stupid thing first and then you shy people follow...
    2. Re:Trouble with eclipse on ubuntu by Chris+Pimlott · · Score: 2, 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.

  10. Slickedit by ncmusic · · Score: 2, Informative
  11. Why cross-platform? by Sloppy · · Score: 2, Informative

    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.
  12. Bullshit by BcNexus · · 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.

  13. Re:Erics Python IDE, Wing IDE, Komodo. In that ord by g1zmo · · Score: 4, 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 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.
  14. Re:Hey Borland. by An+ominous+Cow+art · · Score: 2, 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 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.

  15. BBEdit by Alinraz · · 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 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!

    1. Re:BBEdit by BollocksToThis · · 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!

      --
      This sig is part of your complete breakfast.
  16. Eclipse + Pydev by Anonymous Coward · · 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.

  17. Another vote for Eric by rwa2 · · Score: 2, 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.

  18. nostalgia.. by spir0 · · Score: 2

    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.
  19. Zen and the Art of Eclipse by cowtamer · · Score: 2, Informative

    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.