Skip to content
Tags

,

Is there a better Python IDE?

October 9, 2010

Update 2010-10-10: Added Eric.

Update 2010-10-11: Updated PyCharm, added Komodo

Update 2010-10-14: Added Anjuta, Updated PyCharm and Komodo

I’m currently a user of WingIDE, but sometimes I feel the need for something better, mainly something that is a bit more stable. WingIDE often hangs when switching projects, sometimes the file listing decides that you must double-click on the expand arrow instead of just click on it, etc. It still doesn’t have macros despite this being a much requested feature (how hard can it be to add, really?) and I never really get the hang of the SVN integration, so I just ignore it. And they keep recommending me to use WingIDE’s separate instance of GTK instead of the System GTK, which is daft. Their designs are ugly, and it should work with the system GTK so it looks the same. Anything else is just silly.

But all in all it’s pretty good. I’m not unhappy with WingIDE. But I just have the feeling that there should be something better. So I’m testing other IDE’s. And so far my conclusion is that: No, WingIDE still is the best. But there are many Python IDE’s out there, so maybe I missed some. So this is your chance to tell me that there is one I’ve missed, or tell me that a feature I’m missing from the ones I tested actually *do* exist.And from this testing, this is the features I’d really want, but only WingIDE has:

1. Project management.

You know, adding to a project which files actually are included in the project. I probably could accept if it looks at what is versioned and ignored everything else, but I can’t just tell an IDE that this is my base root directory for the project, and then have the IDE analyze every single file under that directory. I use buildout, and my project directories often include things like Varnish and NGinX, which gets downloaded and compiled as a part of the buildout. I don’t want my editor to care about those files. However, I *do* want it to care about a lot of other files in that directory, so I can’t just select a subdirectory either. No, I do really need a project, not just a workspace, to which I specifically add files and directories, and say which Python interpreter to use, etc.

All of the IDE’s below fail on this count, some more, some less.

2. CTRL-click to go to definition

With WingIDE I can just CRTL-click on any Python variable, and I’ll go to the definition. If I set up the project correctly (see point 3) this includes anything I have imported from no matter what. WingIDE fails sometimes on this, but works most of the time, unless you just ‘from X import *’. Of the IDE’s I tested below I think only PyCharm supports this.

3. Get paths from a script

WingIDE as well as PyCharm has the possibility to analyze a Python-file and look for additions to sys.path, add them to the project and analyze them. That is for me most helpful for the CTRL-Click function above. I couldn’t find this in any other IDE.

4. Remote debugging support

WingIDE can debug processes via TCP/IP. The neat thing with this is that you can write modules for your web framework, which means you can debug it without running the whole web framework as a subprocess of your editor. If your webframework is small, the subprocess technique is feasible. With Plone it is not. Also you can connect and debug your customers server. Nice! But, yes, this is a minor requirement compared to the others. I can survive without it.

So here are the results of the Swedish Jury:

PyScripter

Is windows only. Python is a cross-platform language. A non-cross-platform IDE for Python makes as much sense as having a solar-cell operated night-vision camera. FAIL.

Stanis Python Editor (SPE) / Spyder /Anjuta

Yeah, I know that’s different editors. But I have the same to say about them. They all seem to be really nice little editors, starts fast and has a decent feature set. But neither of them have any actual sort of project management, and although they analyze the file you edit, they don’t analyze your whole project and they know nothing of your dependencies. They therefore can’t do any reasonable code completion or going to source even if they wanted to. They are often listed amongst IDE’s, but they aren’t IDE’s, they are editors that have a file browser built in. These are the ones to look at if you want something really small, fast and lightweight with no fancy frills.

PyCharm

Annoyingly written in Java, this is a really good IDE with loads of stupendous features. However, it is very slow in certain cases, and one of the reasons is because the project handling is lacking. Once again you only set a root directory for the project, and it will import and analyze everything in there. For a small Plone project this took some 15 minutes on my computer, and PyCharm ended up using 800MB of memory. Not fun. Especially since many buildout development projects involve something called “Omelette”, which will make virtual links to all your eggs, in a nice hierarchical structure that’s easy to browser and search through. PyCharm will take your start script, add all the eggs in the path to the project and analyze them, and then analyze everything in the omelette directory again, in practice analyzing all files twice. Now, you say, you don’t need an omelette directory when using PyCharm, and you are right. But in a typical project, most people will not use PyCharm. After some digging though, I found that you could go into the settings and there in “Project structure” exlude directories. So all is good. By why isn’t that option already in the file list? Weird.

PyCharm doesn’t support remote debugging. But that is as mentioned a minor feature. It seems really good, even if it chews up memory like crazy, and stays on the list of things to check out further. Too bad it doesn’t hook into Ubuntu’s UI settings, but uses different fonts for menues etc, it makes it look like shit, but I can survive that.

Update: What I can’t survive with is that the code completion doesn’t work as I want it to. This may be a matter of taste, so if you are looking for an IDE, PyCharm is one of the ones you should try. But it’s not for me, unfortunately because a lot of the features look *really* cool, but that is of no use if the basic features doesn’t work as you want them.

Eric

Eric is complex. Indeed, confusing. This is another failure of usability in open source. The weirdest thing is that when creating a project, it also tries to create a skeleton for Python. But obviously, the first thing I do to test is to start using the editor in an ongoing project. Maybe it’s possible to create your own project templates, but an empty one would be nice as default. Eric does have the feature to add specific files and folders to the project, hooray! It also supports remote debugging. I can’t find a way to add existing paths to the project though, not even manually.

Komodo

Due to the many recommendations I bumped up Komodo to the next thing to look at. Expensive, but nice. Looks good, works smoothly. It doesn’t let you exclude files from the project on a per-file or directory basis, but it let’s you set up a filter for which files to exlude which is a bit more involved, but it has the setting both per project and globally, so you only need to set it up and it will work for new projects. Nice. But with point 3 above, the support is not perfect. Or rather, there is no support, but what I can do is to have the buildout create a custom python interpreter with the sys.path set up correctly. I usually do this in most of my buildouts using he zc.recipe.egg recipe. By selecting that interpreter, Komodo will use it’s sys.path as a basis for analyzing files. That would do very nicely, if this was a per-project setting, but it isn’t. But it’s good enough to continue looking into Komodo. Another option is to use the Omelette recipe that confuses PyCharm, and add the Omelette directory it to the per-project sys.path, but that requires Omelette in thebuildout, but that’s a small concession to make I guess. It’s support for having a remote directory as the project directory is intriguing, as well.

Update: But it’s code completion drives me crazy. I don’t know if it’s buggy, or stupid, or there is some magic button to push, or if I misunderstand something.

EMACS and vi

After articles in Python Magazine I decided to try this out. I hate both EMACS and vi, but it’s worth a try, they have GUI modes, and can be configured to have key-bindings that are not insane, etc. But the fact is that both of them still ended up feeling like editors from the 1970’s and you still feel like 40 years of user interface development somehow just got lost. Even if most commands now can be assigned to reasonable keys, things are still called “yank” and “pull” instead of “copy” and “paste” and you still end up in weird modes you can’t get out of except by pressing escape two hundred times. Yes, I’m sure both are great if you dedicate your life to learning all their intricate features, but in the meantime the rest of the computer world have been trying to teach computers how to understand people, not the other way around. Both EMACS and vi sucks. If you use them: Get your head out of the 70’s you bloody hippie. ;-)

So… what now?

Did I misunderstand the editors above? Is there other editors I should try? Tell me in the comments.

About these ads

From → plone, python

71 Comments
  1. amleczko permalink

    Eclipse with PyDev?

    • Yeah, Eclipse with PyDev is the big horror monster that’s next on my list to try. I’ve tried it before years ago. It was way to big to be useful then, but now computers have more memory and power, so maybe.

  2. Yeah, I’m a life-long dedicated emacs user. Well, since 1997 or so. I’m not a hippie, but I’m sure happy.

    Yes, emacs takes getting used to and it takes dedicated practice to use it well. It pays off, however. I’ve got 2010-1997=13 years of experience with my editor! You can bet I’m productive with it. And all that despite switching from linux to OSX 5 years ago and back to linux this year.

    Your point about being stuck in the 70’s is right, but it is that way for a good reason. You could raise the same point about those text-oriented python files that seem stuck in the 60’s: why don’t we drag/drop some code together with wizards in a rich GUI? Why do we have to bother with textual .py files?

    • OK, thanks for the recommendations of EMACS and vi, but guys, I mentioned them because I did a serious effort to customize them to what I wanted and I still hated them. I in fact worked at one company who only allowed vi (no, not even emacs) on their computers, so vi has been my main editor for two and a half years. I know it. I still hate it. And with standard customizations of EMACS to give it sane key-bindings it still behaves strangely. Yes, I’m sure I can configure it how I want it, especially since you configure it with a programming language, but I have the distinct feeling that it would require about the same effort and time as writing an IDE from scratch, so I fail to see the point.

  3. i think there is no IDE out there that could solve your problems … at least thats why i experienced. simply every person tends to do some things differently … or projects demand some high customization on their own.

    what i think is best is that you pick your editor and turn it into some king of IDE. basically i would say only 2 editors would come up to my list: vim and emacs. yes there is a time needed to get into the editor philosophy and time to actually customize it like you want. but on the end it really pays off. at least for me.

    well i’m vim user and when i compare my settings with emacs user we normally have same plugins installed. so i think there is no false choice between vim and emacs … its more like where your head/heart fits most.

    also highly customized bash is big time saver … zsh can really boost up work in terminal.

    and you know what they say: “emacs user comes for vim help when they need to ssh to some box” :)

  4. Dan Jacka permalink

    +1 for Emacs. Emacs rocks for Plone development. I recommend:

    – Using ido-mode for very fast switching between files/buffers.
    – Using uniquify so that files with the same name automatically get useful unique
    buffer names (e.g. browser/configure.zcml, portlets/configure.zcml, etc., not configure.zcml, configure.zcml, etc.)
    – Being inspired by Steve Yegge’s brilliant Effective Emacs rant/tutorial:

  5. On the Eclipse front, you could try one of the customised builds of Eclipse, i.e. Aptana Studio as it comes pre-configured for Python/Web stuff.

  6. I also went trough the same IDE search…

    For some time I found Komodo edit 5 a very decent editor with a very decent project management. On Komodo 6 they did some weird stuf with the file manager and had to toss it away. They also sell a IDE with some possibly nice features, but I have not tried it.

    Also, I could not find a way to make Komodo Edit to load all the paths from my buildout (I had to add them manually, which sucks very hard).

    Wing IDE takes a lot of RAM to load the import paths. Aptana Studio is very sluggish and suffers the same problems as Eclipse: A cluttered space.

    I finnaly ended up with emacs and surely, sometimes feels like it can do all things I need (like loading all symbols from a Plone buildout without eating 1 GB of RAM (http://pypi.python.org/pypi/z3c.recipe.tag/)) and sometimes feels like I’m commanding a bloddy spaceship (http://xkcd.com/378/)

    —- My 2 cents

    So I ended up

  7. Jason Mehring permalink

    I am a big fan of WingIDE myself using vi mode, since I came from the vi world. I think there is an emacs mode as well.

    The thing I like best about Wing is the intergrated zope/plone debugger; its just nice to be able to point and click to set a breakpoint or watch list and I also have wing working now with plone test module for easy debugging. Big time saver IMO.

    I can’t stand eclipse :)

  8. How about Netbeans IDE with Python plugin. It have code completion and so on.

  9. My suggestion goes to Eclipse + PyDev; the project is fairly supported, and evolved well over the years; of course, it is Eclipse, which is both the good thing about it and the bad thing at the same time; lot of other plugins to use (Mylyn and integration with a lot of trouble ticketing system like Trac, Jira; SVN support in many flavours, and so on). And it is fairly supported and updated often.

    Providing suggestions:

    1) project management: not sure here it goes where you want; Eclipse is flexible, but I’m not sure it is *enough* flexible for what you asked for;

    2) ctrl+click; works quite well;

    3) not sure about this;

    4) as far as I can tell, yes.

    Hope it was useful.

  10. Toni Ruža permalink

    I don’t use it myself, but I am noticing a lot of activity around eric recently.

    It may warrant an examination.

    http://eric-ide.python-projects.org/index.html

  11. Indeed, Eric does warrant an examination, and in fact I had done one, but forgotten about it. It’s added to the article now.

  12. Michael permalink

    Try ActiveState Komodo. It does the stuff you want (unfortunately the free Komodo Edit does not include debugging support, but Komodo IDE does).

  13. PyScripter may well be brain dead but it does support your first 3 requirements and the 4th is a planned feature. And it is free as air.

  14. David permalink

    I’d suggest Eclipse with PyDev.

    Like you I avoided Eclipse for a long time and rightfully so as it was slow and buggy. However the Eclipse of today, running on a modern computer supporting twoor more hardware threads, is fast enough and far more stable. As a Python IDE I find it hard to beat for my limited needs. I have Aquamacs installed on my Mac and seldom use that for Python programming. PyDev is a far lower impact environment to get going in.

  15. Dylan Jay permalink

    I was using komodo and now PyCharm. Memory sucks but so far I like the project management. Its easy to open a directory and then just point it to the bin/instance and then have all the the code search just work (after it’s indexing). Memory usage does suck but not as much as eclipse I found since the way projects work I tend not to have all my projects open at once in pycharm. The git integration is also nice. Last time I tried eclipse git it was pretty poor and assumed one project one git.

    Also tried textmate (has issues with refreshing files when switching projects).

  16. Adam Groszer permalink

    I’m using Komodo. Definitely the IDE version, it comes with a debugger and other fancy stuff. Version 6 is even snappier than 5 and it has now python 3 support.
    Yah, you gotta pay for it.
    It’s built on mozilla, XUL, XPCOM, etc. so you can build your own addons.
    Some addons I use:

    http://code.google.com/p/qwin/source/browse/branches/clipboard/qwin-0.6.12-ko.xpi

    http://community.activestate.com/xpi/koctags

    http://dafizilla.sourceforge.net/morekomodo/index.php

    http://dafizilla.sourceforge.net/tabswitcher/index.php

    and a custom textmate style snippet inserter.

    I’m not using it’s project manager — a file manager is my PM.
    Give it a try.

  17. The recommendations for Komodo made me bump it up in the list on what to test. It looks good, but I don’t know how to get it to analyse the code in the eggs of the project. and I’m testing it more deeply now.

  18. I tested NetBeans and Eclipse some time ago and found NetBeans’ python support better than Eclipse’s back then. Plus it had mercurial support build in already. I can’t tell if it meets your requirements cause I went back to emacs in my cave.

    ..Carsten

  19. hi,
    i’m a happy wingide user too.

    Macro support is included in wingide4 (now in beta) and i hope to see some implementation of zencoding in it (even if i don’t do templating anymore it’s cool :P)

    bye

  20. Adam Groszer permalink

    re Komodo
    point 3: yah that’s why I did the koCTags addon. The built-in ctrl-click is not perfect, together with intellisense.
    With the debugger subject the best for python is still winpdb out there.
    The guys at activestate are cooperative-ish if you have a meaningful wish.

  21. The auto-complete is bloody amazing on Komodo. And if you want to create new language support files, it couldn’t be easier / more intuitive. I recently added full JSFL support to Komodo, and it’s amazing how good it is at resolving any objects that are returned from functions, generated inline, you name it. Brilliant.

  22. i use wingide and love it for the same reasons as described by you (project management as i expect it to be, code analyzation) and the “search in files” feature (grep like). i use nothing else (doing debugging via pdb, source code management via command line). beside from your critique i also miss buffer tab reordering (sometimes).

    and if you haven’t tried out, try this: i always use at least two project tools in the side pane – i have different packages opened in them which allows me to quickly switch between packages. you can add as many as you want (that rocks!!).

    what i’ve used for some years, years ago, was JEdit – which is a really good java based editor. it’s “search in files” feature is even better (it can store different searches), it has a sFTP plugin (the reason why i discovered it back then), a visual diff plugin, a project management plugin (not as good as wingide), CTags support and much more… no source code analysis based on sys.path though.
    i switch back to JEdit regular if i have to do some tricky search/replace operations (regex with beanshell support), file encoding troubles or rectangular selection necessity. see http://jedit.org/

  23. Editra (http://editra.org/) is a promising lightweight editor which support dynamic auto-completion and calltips for python.

    Personnaly, I use Pydev. I resisted for a long time cause I hate huge bloated java software but I had to face it : it beats them all on features and it has good mercurial plugin and… Mylyn ! But as soon as I find a sensible lighter alternative I will swith. And run away from the java way that says “if it can’t run on lot of RAM and CPU, it will run on more RAM and CPU”.

  24. maybe anjuta is also an alternative. it’s part of the gnome desktop distribution and it says that it supports python including code completion

    http://www.anjuta.org/features.html

  25. Bas Roijen permalink

    I haven’t tested it further, but with Eric4 it is possible to add extra paths by adding “sys.path.append(/path/yoiu/want/to/add)” to the startup-file (eric4.py). At least in debug mode it’s visible in the sys.path.

    • Yeah, but my projects can have hundreds of eggs that all need to be in the path, and each project has a different set, and this set sometimes change. I can’t set up and manage sys.path like that manually.

  26. Bas Roijen permalink

    @Lennart: Maybe buildout can help here? If I’m not mistaken the client1 and zeoserver startup scripts of the Plone unified installer do something similar? I really like this post, I’m also in the need of a nice IDE.

    @Noe: What LinkedIn group is that? Because I’m not a member so I can’t view the thread. LinkedIn doesn’t which group it is:S

  27. Well, you can make a buildout script that would start the IDE with a custom PYTHONPATH, and that would help in some cases. But that would mean that you would have to close the IDE, cd to the right directory, and restart the IDE from the command line everytime you switch projects, and that’s pretty annoying. At least for me that tend to switch between development setups and local production test buildouts quite a lot.

  28. @Bas Roijen The name of the LinkedIn group is “Python Community”.

    http://www.linkedin.com/groups?gid=25827

  29. Peter permalink

    I was looking for Free editors, and couldnt find a good solution.
    But last night i found something interesting.

    Use 2 editors.. at first it doesnt sound nice.
    But I used Pyscript, for building and testing IDE and python command-line.
    But since writing code in it is horrible (a plain long straight text field).
    Then i had the same file open in Komodo editor. To my surprise this worked, i had no locked files errors. (ofcourse i needed to safe between changes).

    With this combination i could use komodo’s editor version with the way more advanced text editor altough it lacks a true IDE, combined with a true IDE which lacks a decent editor namely Pyscript.

    As often as i write i start raw coding in Pyscript, its not nice looking; bad commented, as i’m still searching for the right methods. Then at some point i want structure in my code; when the main math / programing has come to a solution. Something which is really nice to do in komodo.

    Together its was also not heavy demanding on resources
    ( in fact i run it on a small netbook )

    I dont know how well this would work in large projects .. but maybe that requires something more (like a virtual web based filesystem to share code between developers >> things not part of normal IDE’s )

    Well i hope this solution might be helpful to some other people too.

  30. Netbeans is awesome!

  31. hunter permalink

    give aptana 3 beta a try

  32. Chris permalink

    Try out this python IDE addon for eclipse:

    http://pydev.org/

  33. Tom Russell permalink

    I personally have been very happy with Editra. It’s built on python and has the best auto complete I have seen yet. Especially used from source and not the compiled version.

    I haven’t done anything much with the Projects in it but I am sure it works, I would think. Also they are going to be adding a debugger so that kind of makes it a pretty good choice for a cross platform, open sourced free editor.

  34. Tom Russell permalink

    Technically, no it’s not an IDE for sure. But when you do get it setup per instructions on their site for Python development, I think it fairs pretty well compared to issues with Pycharm, Komodo, Eclipse etc. It has a launcher you can add on from the plugins allowing you to run your code from within it.

    At least it’s lightweight and runs quick:)

  35. PyCharm DOES have a remote debugger. Which is cool when you finally get it to work.

  36. Try this:
    Pyshield, An IDE tool used to edit, debug Python script, publish encrypted scripts, build a standalone executable file, manage more files by project view and make installation in various forms(.msi, .tar.gz, .rpm, .zip, .tar.bz2).

    It includes an editor simulating Emacs python-mode, a GUI debugger simulating GDB, a project view used to manage scripts, modules, extensions, packages, platform specific data files, and GUI interface to make installation.

    The goal of Pyshield is to let you write and debug Python scripts conveniently and easily, then publish the scripts in various forms and in any platforms.

    The highlights of Pyshield:
    Security your Python scripts;
    Make installation for Python scripts, modules and packages in various forms by GUI interface;
    GUI Debugger simulating GDB;

    http://dashingsoft.com/products/pyshield.html

    http://dashingsoft.com/index.php?p=1_9

  37. Jason Schorn permalink

    What about using the Netbeans IDE with its Python add-on. I use EMACS for C/C++ as well as Python development but, I recently tried Netbeans and it seems to be very aggreable and well thought out. Just thought I would add my 2-cents. By the way, I’m just the son of hippie who has been using EMACS since college and primarily because LISP (Haskell) rule.

  38. Girardo permalink

    For your information, especially since version 2.0 (available for almost a year — final release published on Sept. 2010), Spyder includes a Project Explorer (so yes, there is project management in Spyder!) and a Code Editor with powerful introspection features like code completion, calltips and go-to-definition and a lot of new/improved features:

    http://code.google.com/p/spyderlib/

    So I really think that Spyder is a full-featured Python IDE — note that it is the *only* Python IDE supporting IPython natively *and* providing a variable explorer with GUI-based editors for editing directly NumPy arrays, dictionaries, lists, etc.

    So, it seems that what is mentioned above is really not true anymore.

    I thought it was my duty to report this because there are so many people working hard on this free open-source project without any other retribution than the users satisfaction (and the Spyder community has really grown up lately).

    • I don’t see anything in what you say that contradicts what I said, but I’ll try to get the time to verify if I did test 2.0 or not. I should have noted the versions in the blog, my bad.

  39. I can confirm that I tested 1.1.7, the latest version as of te time of this blog post. I’m not even able to install spyder 2.0.10, however. I’ll update this once there is some reasonable way to install spyder for testing without polluting my system python, or by the way of Ubuntu packages, so I can uninstall it.

    Note that a “project explorer” does not automatically mean there is project management. But at least they now seem to have implemented analysis of the whole project, which is good.

    Now I have to go and clean my system. Installing 2.0.10 was not a positive impression.

    Sorry.

  40. Girardo permalink

    I don’t see how it can pollute your system: after all, this is just a pure Python module… quite harmless!

  41. The lack of uninstall in the Python world is a well known problem. It installed things, and that means I had to figure out what that was, and delete it manually, which is two modules and a script. At least, I *hope* that’s it, because that is what I found an deleted. Not that it’s very important, Ubuntu 11.04 is out soon and it’s time for a reinstall anyway. :)

    I tried installing it in a virtualenv first, when that failed in a way that looked like lacking libraries, I tried with the system python where these libraries was available, but that didn’t help.

    If you like spyder, help making the installation experience better or at least improve the installation documentation. None of the other IDE’s I tested had any install problems, and 1.1.7 didn’t either.

  42. Girardo permalink

    Usually people having problems with the installation would either post a message on the discussion group or open an issue on the GoogleCode website. If you want to do so (and as a motivation I’d say that it is a good practice in the open-source world), you may have to be more specific and give more details on what went wrong.

    Spyder’s required libraries are quite common, so installation *usually* does not require technical skills of any kind. Besides, I don’t remember seeing much posts or issues regarding installation problems.

    Anyway, note that Spyder is also available as an official Debian package:

    http://packages.debian.org/en/sid/spyder

  43. I have obviously filed a bug report already. The Debian package is installable on Ubuntu, but it didn’t yield any new information. There is still no project management (a built in file manager is not project management). It still doesn’t fulfill my definition of a IDE, but all that is missing is proper project management (meaning I can say which files are included in the project, not just point at a directory).

    That means it now sits somewhere in between the editors and the other IDE’s.

    Also, I need a way to somehow have the PYTHONPATH externally managed. A typical Plone project will have around 250 directories in the Python path. I don’t intend to manage that manually. :-) Should be fairly easy to add.

  44. Paul Breen permalink

    I have Komodo and PyCharm but I like SlickEdit better. Much faster than PyCharm and Komodo and is multi-platform. It is written in C++. Has a macro language better than most progrmming languages and excellent project support. It is expensive – similar to Komodo but when you are ready to wear long pants it works vey well with C++ as well. All the usual code formatting options, etc. The code completion is good-better than Komodo but not as good as Visual Studio with Visual Assist addin from whole tomato, but nothing else is. Has remote degugging but I have not tried it. Easy to switch python versions for different projects.

  45. Abdel Bolanos Martinez permalink

    Eclipse + Pydev is the best choice for developing Python when we aretalking about IDEs. I supports now create Django or GoogleApps projects too.

  46. Hi,

    NetBeans 6.9.1 meets all your requirements and isn’t as heavy as Eclipse. I download the PHP version of NetBeans and then add the Python plugins. Sadly NetBeans 7.0 doesn’t yet have Python support but it is on the roadmap for official support.

    The following references should help.

    http://wiki.netbeans.org/Python
    http://wiki.netbeans.org/PythonInstall
    http://wiki.netbeans.org/NetBeansPythonTutorial
    http://wiki.netbeans.org/Nbpythondebuggerprimer
    http://wiki.netbeans.org/Python70Roadmap

  47. PyStudio is a plugin I’ve written for Editra, with help from the editor’s author, that adds IDE functionality like PyLint syntax checking and a Winpdb based debugger.

    http://code.google.com/p/editra-plugins/wiki/PyStudio

  48. Dragos permalink

    Monkey Studio? http://monkeystudio.org/

  49. echelon permalink

    how about netbeans with python support

  50. I’ve not seen anything better than Eclipse+PyDev. I consider it practically perfect. Eclipse is heavy, but today’s computers can take it with ease. After all, modern computers are capable of running even windows 7 :)

  51. Sean permalink

    Have you tried Sublime Text 2 + plugins (See: http://www.martinaspeli.net/articles/sublime-text-2-for-zope-and-plone)

  52. Hi Lennart,
    it is one year later and I am curious if you found a suitable IDE.

    I hope you do not mind that I share my personal opinion with you. I am convinced that the tooling situation is a problem in Python (let us exclude Web-frameworks). Options we have many but many project have been discontinued or are missing important features. I believe that this is one of the key factors which drives/ hinders Python adoption.

    I myself have been using Gedit for some years now. From time to time I am evaluating other tools (recently I have been looking into Gvim, Xemacs, Eclipse, Geany and some closed things from your list). Unlike you I am working with tiny projects but I am missing some IDE features with a simple text editor.

    I personally do not think a closed source IDE is an option here because in my eye only open source tools really shine. A couple of days ago a found such an IDE which is targeted towards Python: NINJA-IDE. I am using it for some time now and it is quick, no learning curve, does what I want and I did not experience any warts so far. It would be great if someone like you who has experience in working with really big Python projects would give his feedback/ input into the IDE project. In this way we could all benefit from an improved tool situation.

    Best Regards,
    Mark Fink

  53. I would +1 the ninja-ide. As well as being open source the developers are very approachable and friendly. You can easily contact them via #irc or email.

    For instance i said like your ide but what about virtualenv support, a few friendly emails and an update later and the feature was in there.

    If you could test and provide specific constructive feedback to them they are more positive on this.

    they are also running a plugin contest to expand the ide feature set and handing ot cash prizes up to $250.

    http://ninja-ide.org/plugins/contest/

  54. yes. vi(m) and emacs sucks. plain old potato bags

  55. I’m going to add myself to the Ninja-IDE chorus. I really liked Komodo, but problems with VirtualEnv drove me bonkers and searched for a new IDE. I landed on Ninja, and so far, it meets all my requirements.

  56. Ray Jeffries permalink

    “But the fact is that both of them still ended up feeling like editors from the 1970′s and you still feel like 40 years of user interface development somehow just got lost.”

    Clearly you were not programming during the 1970s. I was. And emacs (to a far lesser extent vi) was a revelation and huge aid to productivity.

    The rest of your remarks about emacs confirm that you know little or nothing about it; learning the basics of emacs takes about 30 minutes.

    And we can do without the gratuitous insults about hippies thank you very much.

  57. Daddy permalink

    I find it amusing that “hippie” has become a derogatory label. Since it is no longer PC to pick on ethnic minorities, women, gay, etc., hey, let’s just pick on old people, ok? From reading the above, I’m going to try Eclipse with PyDev… and by the way, I hated vi and never grew to like emacs either. On the other hand I grew to love IBM’s ISPF editor over the years and even wrote a large edit “macro” to do automatic C to Jovial translation. I suppose if I used Emacs for 20 years I would have gotten to like it too. Notepad++ works fine for me now. But I digress… back to Eclipse and Pydev.

  58. Gustavo Sosa permalink

    What about Geany? It is simple, open-source, cross platform, with a nice GUI. Sort of middle ground between emacs/vi and eclipse/netbeans.

Trackbacks & Pingbacks

  1. Python IDE code completion test « Lennart Regebro: Python, Plone, Web
  2. Python整合發展環境 | 工作達人(Job Da Ren)
  3. Introducción a la programación en Linux con Python – Capítulo XII | The Archer

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,302 other followers

%d bloggers like this: