share
Stack OverflowWhat IDE to use for Python?
[+1033] [122] husayt
[2008-09-17 09:53:15]
[ python ide editor ]
[ http://stackoverflow.com/questions/81584/what-ide-to-use-for-python ]

Asking as a Python beginner, what IDEs ("GUIs/editors") do others use for Python coding?

If you can just give the name (for example, Textpad, Eclipse ..) that will be enough. If it is already mentioned, you can just vote for it.

But if you can also give some more comparative information, that will be much appreciated.


Update: Results so far

                                       Rapid Application Development -.
                                           Integrated DB Support -+   |
                                                GUI Designer  -+  |   |
                                             Unit Testing -+   |  |   |
                                        Code Templates -.  |   |  |   |
                                       Code Folding -+  |  |   |  |   |
                           UML Editing / Viewing -+  |  |  |   |  |   |
                              Line Numbering -+   |  |  |  |   |  |   |
                         Bracket Matching -+  |   |  |  |  |   |  |   |
                          Smart Indent -+  |  |   |  |  |  |   |  |   |
         Source Control Integration -+  |  |  |   |  |  |  |   |  |   |
                   Error Markup  -+  |  |  |  |   |  |  |  |   |  |   |
  Integrated Python Debugging -+  |  |  |  |  |   |  |  |  |   |  |   |
    Multi-Language Support -+  |  |  |  |  |  |   |  |  |  |   |  |   |
  Auto Code Completion -+   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Commercial / Free --+  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Cross Platform -+   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
                _|___|__|___|__|__|__|__|__|__|___|__|__|__|___|__|___|_
                |CP|C/F|AC|MLS|PD|EM|SC|SI|BM|LN|UML|CF|CT|UT|UID|DB|RAD|comments
                +--+---+--+---+--+--+--+--+--+--+---+--+--+--+---+--+---+
 BlackAdder     |Y | C |  |   |  |  |  |Y |  |  |   |Y |  |  |   |  |   |
 BlueFish       |L |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Boa Constructor|Y | F |Y |   |Y |Y |  |Y |Y |Y | Y |Y |Y |  |   |  |   |
 ConTEXT        |W | C |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 DABO           |Y |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 DreamPie       |  | F |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Dr.Python      |  | F |  |   |  |Y |  |  |  |  |   |  |  |  |   |  |   |
 Editra         |Y | F |Y | Y |  |  |Y |Y |Y |Y |   |Y |  |  |   |  |   |
 Emacs          |Y | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   |  |   |
 Eric Ide       |Y | F |Y |   |Y |Y |  |Y |  |Y |   |Y |  |Y |   |  |   |
 E-Texteditor   |W |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Geany          |Y | F |Y*| Y |  |  |  |Y |Y |Y |   |Y |  |  |   |  |   |* very limited
 Gedit          |Y | F |Y¹| Y |  |  |  |Y |Y |Y |   |  |Y²|  |   |  |   |¹ with plugin ² sort of
 Idle           |Y | F |Y |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 JEdit          |Y | F |  | Y |  |  |  |  |Y |Y |   |Y |  |  |   |  |   |
 KDevelop       |Y | F |  | Y |  |  |Y |Y |Y |Y |   |Y |  |  |   |  |   |
 Komodo         |Y |C/F|Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |Y |   |
 NetBeans       |Y | F |Y | Y |Y |  |Y |Y |Y |Y | Y |Y |Y |Y |   |  | Y |
 NotePad++      |W | F |  | Y |  |  |  |  |  |Y |   |  |  |  |   |  |   |
 Pfaide         |W | C |Y | Y |  |  |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 PIDA           |LW| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |   |  |   |VIM based
 PTVS           |W | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |  |  |Y* |  | Y |*WPF bsed
 PyCharm        |Y | C |Y | Y*|Y |  |Y |Y |Y |Y |   |Y |  |Y |   |  |   |* javascript
 PyDev(Eclipse) |Y | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   |  |   |
 Pyscripter     |W | F |Y |   |Y |Y |  |Y |  |Y |   |  |Y |Y |   |  |   |
 PythonWin      |W | F |Y |   |Y |  |  |Y |Y |  |   |Y |  |  |   |  |   |
 SciTE          |Y | F |  | Y |  |Y |  |  |Y |Y |   |Y |Y |  |   |  |   |
 ScriptDev      |W | C |Y | Y |Y |Y |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 SPE            |  | F |Y |   |  |  |  |  |  |  | Y |  |  |  |   |  |   |
 Spyder         |Y | F |Y |   |Y |Y |  |Y |Y |Y |   |  |  |  |   |  |   |
 Sublime Text   |Y | C |Y | Y |  |  |  |Y |Y |Y |   |  |Y |  |   |  |   |extensible w/python
 TextMate       |M |   |  | Y |  |  |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 UliPad         |Y | F |Y | Y |Y |  |  |Y |Y |  |   |  |Y |Y |   |  |   |
 Vim            |Y | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |  |   |
 WingIde        |Y | C |Y | Y*|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |  |   |* support for C
 Zeus           |W | C |  |   |  |  |Y |Y |Y |Y |   |Y |Y |  |   |  |   |
                +--+---+--+---+--+--+--+--+--+--+---+--+--+--+---+--+---+
                |CP|C/F|AC|MLS|PD|EM|SC|SI|BM|LN|UML|CF|CT|UT|UID|DB|RAD|
                |__|___|__|___|__|__|__|__|__|__|___|__|__|__|___|__|___|

Acronyms used:

I don't mention basics like syntax highlighting as I expect these by default.


This is a just dry list reflecting your feedback and comments, I am not advocating any of these tools. I will keep updating this list as you keep posting your answers.

PS. Can you help me to add features of the above editors to the list (like auto-complete, debugging, etc.)?

You better specify a platform or, if that's the case, that you're searching for cross platform editors. - Pieter
I've edited Emacs entry: "Emacs is cross platform (at least Windows, Linux, Mac OS X)." - J.F. Sebastian
Could you consider differentiating between "editors" and systems that offer "visual debugging" (step through code, click/hover on variables to see their values, click to set brekpoints, etc.)? - jwfearn
ActiveState used to make a (Windows, commercial) add-on for MS Visual Studio called Visual Python. It was great and integrated tightly with VS especially for debugging. Sadly, VP doesn't work with recent VS versions and AS no longer supports it. I'd love to find something similar on any platform. - jwfearn
Ok. I am not sure about differentiating between "editors" and "visual debuggers". However, I think it is a good idea to display features of each editor for comparability, (for example : debugging, autocomplete, xplatform and etc). - husayt
Zeus is on Windows only, is Commercial and has BM and LN - jussij
(51) VIM also has: AC (CTRL+N), MLS(a lot of languages supported), PD(plugin), EM(plugin), SC(plugin), SI(option to enable), BM(option to enable), LN(option to enable), CF(default), CT(snippetEMU) - igorgue
emacs has all features (just edited for you) - nosklo
I made a comparison table from this data. I'm looking for a WYSIWYG-Wiki host to put it on for better use. (Python's Wiki isn't table-friendly). Suggestions? - Berry Tsakala
These are not in list and there may be others: Kate and UltraEdit (Manzabar) and Editra (Serra South). - Peter Mortensen
Does IronPython Studio count? - user120242
NetBeans (CP, F, PD, UML) - It also has AC, MLS, SC, SI (if I understand what you mean correctly), BM, LN, CF, CT (again, if I understand correctly), UT, and RAD (again, if I understand correctly). - Thomas Owens
Geany has CT (both templates and snippets) and SC (there is a SCM plugin). - gruszczy
Added some stuff to Komodo. - Tor Valamo
Dr.Python ! .... I guess it should make your list ! - Arkapravo
I think that "PyDev with Eclipse" should be "Eclipse with PyDev" or "PyDev for Eclipse" ..? I'm glad to see the one I'm using on top of the list, btw.. - redShadow
..btw, Eclipse also supports: DB (via additional plugins) and CT - redShadow
Eclipse and NetBeans are horribly slow because they use Java. I love Komodo Edit with vim bindings. Absolute genius. - Honza Pokorny
A nice addition would be: DJ - (supports django) - Toad
(37) Emacs above Vim? LIES. - Tyler
Do any have a GUI editor/builder? - RCProgramming
Aptana Studio 3 comes with PyDev now aptana.com/products/studio3 - soulseekah
WTF SH (SciTE)? Syntax highlighting? So it must be added to most of other IDEs. - Nakilon
Also would be nice to add parameter of in which language IDE is written. For example, I don't want IDE in Java, because it's taking too much resources. - Nakilon
@Tyler: FIXED. :) - Robert S Ciaccio
(9) We could put all this here: en.wikipedia.org/wiki/Python_IDE#Python - bluish
(1) there is no uid ide for python? why no one in list gained it? - amin
gedit can also be used on mac so it is cp. - Danish94
@Nakilon surely then what you want is a column for resource usage, not language, it's possible after all possible write a resource hog in any language - tolomea
I think the "feature matrix" is the source of everything that is broken with our tools. It totally fails to capture the most important feature which is how easy is it to get work done in this tool. Indeed generally as the feature count goes up the usability of the tool seems to go down. - tolomea
A column for integrated profiling tools (performance, memory) would be useful. - MattK
Here is a feature - 64 bits compatibility. For instance, I have a 64 bits build of python 2.7 for windows and PyScripter would not work on it, according to their site - code.google.com/p/pyscripter - mark
For geany you can now set error markup to Yes. There is pyflakes plugin, that does that: code.google.com/p/geany-pyflakes - gruszczy
Well ! ..... even with all these options, I seem to prefer sticking to Scite - keeps everything simple for me. - Arkapravo
I'd like just to point that ConTEXT has MLS, SI, BM, LN, CT, and it's free/opensource. - edkirin
[+375] [2008-09-17 09:57:19] Rafał Rawicki

Vim - For me it's the best choice, regardless of technology I'm using at the moment. It's not so hard to learn as it looks and during the work you are becoming more and more productive.


(51) I second vim, not only because of its power, but also because it pays off to learn it since you can reuse this knowledge a lot. Vim is omnipresent across platforms and is a great option for terminal editing, shining especially through telnet/ssh. - nachik
(29) vim rocks[ESC]100i![ESC]111 - pi.
(19) And you can extend Vim with plugins written in Python. - richq
(12) Vim is like an Intermediate Editor Language. All major IDEs (Eclipse, NetBeans, Komodo and Visual Studio I know for sure) have solid vim modes or key bindings, which makes it much easier to switch between them. It is definitely worth it to learn. - Jerph
(1) When I had to learn vi, back in the past at a students job, I truly hated it and I don't wanted to learn this weird stuff (I was used to only "modern" stuff with real visual editors)! But today I am glad, I was forced to, since after you learned vi (or today vim) it makes you much more productive and is available on nearly all machines. And today vim also gives you much of the power of other modern development environments. - Juergen
(8) I'm just glad to see that there's at least 84 other fanboys of VIM out there. Maybe I'll have a chance to meet one someday. :-) - James Schek
(2) What I love about vim is that it only uses 2MB of RAM on my Ubuntu system. - Honza Pokorny
(1) Two of the more important features I look for in an IDE is auto-completion and a quick-run keyboard shortcut (Like F5 in Matlab or Shift+F9 in SPE). I looked at vim feature list and I know it supports auto-completion. Does it support the quick-run keyboard shortcut? I'm not sure what the industry jargon is for that kind of feature. - Kit
(1) @kit: you can farm out any command to the shell with :!<command> if you want to send the output of that command to your current window, use :r!<command>. Also note that vim auto completion is nowhere near something like eclipse. - Matt Briggs
imo there are very few things that even come close when it comes to effective code editing then vim. definately nothing that matches it. - Matt Briggs
(1) vim+eclipse=eclim is better then just VIM. people need code correction like incorrect vars, and all that been said before =) - holms
@Kit auto completion is supported (in insert mode, try hitting ctrl+n or ctrl+p) -- the fact that vim actually uses the control key makes me cry - Foo Bah
(1) vim also has Unit Testing support (added to answer), via the vim-nosecompiler and vim-makegreen plugins. - Andrea Spadaccini
(2) There - now Vim has the higher vote count and sanity has been restored to the universe. - new123456
(2) I love vim, but the question asked for an IDE. - user122299
(1) @ראובן: IDE != GUI. - DevSolar
@DevSolar: True, but Vim is still not an IDE. It's just an editor. I don't know why the hell anyone would prefer an IDE over Vim, tough. - Gerardo Marset
(1) @Gerardo Marset: Well, vim integrates ctags, cscope, make, gcc (including automatic jumping to the source indicated by a compiler error), gdb... you start vim, and use all the rest from within the vim environment. I call that an "itegrated development environment", and much more that "just" an editor. But YMMV. - DevSolar
@DevSolar: and almost all of those are of no use when developing Python. - Adam Parkin
@AdamParkin: Correct; I couldn't name the corresponding tools for Python, as I am not familiar with its tools. I just wanted to point out that you don't need a GUI to have an IDE. - DevSolar
1
[+343] [2008-09-17 09:58:44] Tom Leys

I use Eclipse plus the PyDev plugin [1]. PyDev has support for PyLint, which is another free download. With those three installed, you have an environment that can parse your python and spot errors (almost all errors, i.e bad vars, bad types, bad includes) as you type.

You can also debug from within the IDE, including single stepping. You can see all your Python projects at one glance in your workspace. Selecting text in the IDE will evaluate it in the current environment (like visual studio's tooltips). It can launch and debug several processes from the one debugger and handles Twisted pretty well. I currently use it for working with Twisted and Django.

If you go with Eclipse, you should consider these plugins

Also, outside of Eclipse, I suggest you get IPython [8] for your command line debugging pleasure. I prefer it over the standard command line shell and IDLE (The GUI shell).

[1] http://pydev.org/
[2] http://www.aptana.com/
[3] http://www.eclipse.org/mylyn/
[4] http://wiki.eclipse.org/Mylyn/Extensions#FogBugz_.28Bugclipse.29
[5] http://subclipse.tigris.org/
[6] http://muermann.org/gotofile/
[7] http://www.eclipse-plugins.info/eclipse/plugin_details.jsp?id=930
[8] http://ipython.scipy.org/moin/

I have been using pydev, but didn't know about pyLint. That is a great Tip. While we are on it, what would you advise for editing html templates in Eclipse. Thanks. - husayt
(3) +1 for PyDev, and I would actually recommend that you shell out for the PyDev Extensions, it makes the environment much smarter fabioz.com/pydev - Henrik Gustafsson
+1 - have used by PyDev and apart from the nag screens it is pretty good. - sean riley
+1 for PyDev and eclipse. Takes a bit to get it all set up, but once installed you can develop at an almost unprecedented speed! - Jon Cage
+1 for eclipse! pydev is great, but that's really because eclipse is so awesome to have such a great dev community to make all these wonderful addons. - Victor
(34) As of Sep 3 2009, PyDev Extensions is open source, and included free with PyDev - itsadok
@itsadok thanks for the heads up! :) - Tom Leys
+1 for goto and multi clipboard. Those are the things i've been missing the most from Eclipse (compared to Visual Studio with VAssist) - Macke
+1 The debugger included on PyDev is quite good, and pyLint is great to detect some errors, although I tweak the regular expressions for names declaration... - Khelben
+1 for Eclipse+Pydev. I hate Wingware(which claims to be second best in Python IDEs) and I even prepared a chart for the requested Wingware plugins(docs.google.com/View?id=ajg4x6nbspxv_183dtrvqngh) - None-da
I would like to express my gratitude to the Stackoverflow community for introducing me to the beauty of Eclipse and PyDev. - Honza Pokorny
(10) Since it went open-source, PyDev is a no-brainer choice. - Uri
eclipse is great, but there is no built-in word-wrap functionality - user126284
How about Iron Python that works on VS - Programmer
2
[+162] [2008-09-17 10:50:44] Chopmo

Emacs has very good Python support, both wrt. syntax highlighting and getting the indention levels right.

Note that Emacs has a rather steep learning curve. But once you master it, it will help you be very productive in any language.

If you're interested, the Emacs wiki [1] is a great starting point.

[1] http://www.emacswiki.org/cgi-bin/wiki

3
[+139] [2010-03-05 13:52:46] jacob

PyCharm from Jetbrains [1] is great in prerelease and will be excellent by the time it's officially released in the fall (in the northern hemisphere) of 2010. It's got

  • CP - Cross Platfom
  • C - Commercial
  • AC - Automatic Code-completion
  • PD - Integrated Python Debugging
  • EM - ErrorMarkup
  • SC - Source Control integration
  • SI - Smart Indent
  • BM - Bracket Matching
  • LN - Line Numbering
  • CF - Code Folding
  • UT - Unit Testing

It's got by far the best rename support I've seen in a Python IDE, and about 10 other refactorings so far; better code completion than I've seen; and definitely better code navigation (cmd-N and start typing the name of the symbol).

[1] http://www.jetbrains.com/pycharm/

This seems very promising. - Kugel
I am already using the preview release and I don't plan on using anything else. It's got a few bugs (it's not even alpha) but its usable. - adamJLev
Pretty good... but I notice it somehow getting sluggish-er day after day. - Hugo
(11) I usually prefer FOSS solutions but I have to say that PyCharm is far above any other solutions, like Komodo, PyDev or Aptana Studio. - sorin
@Hugo- I notice it getting slower too (I'd like to attribute this to Java...) but after the slow start up, it's pretty fast. - DMan
Any update here? I see there is version 1.0. - Tshepang
@Tshepang I'm using version 1.1.1 and I have been very satisfied with it. It's my favorite python editor / IDE easily, but just for full disclosure, I'm also an IntelliJ user when I do Java programming. - TM.
(1) The very best thing about PyCharm is the Vim keymap which ships by default. - Kenny Meyer
(2) If you're a student, PyCharm gives a significant discount to students. I tried PyCharm, and functionally, it was great, but the interface is absolutely horrible. The menus/options are completely unorganized and cluttered. - Corey Farwell
I love PyCharm too although its not free. Sometimes I only wish the integration into issue trackers would be better. - cwoebker
(1) Best money i have ever spent, its hands down the best IDE available for django development... - jawache
I have also been very impressed with pycharm. - Chris Barry
PyCharm has zen-coding support, this is a killer feature for me. - Paulo Scardine
Latest version is 2.0.2. @Corey, I never actually use the menus. Cmd-shift-a is all you need to do anything. But agreed, the UI is clunky. If the functionality didn't rock it would be a deal-killer. - jacob
It has inbuilt support for django and for Google App Engine! Worth buying. - robert king
4
[+100] [2009-02-28 19:59:33] Vishal Sapre

If you are on Windows, then PyScripter [1] is the best FREE choice out there. It's a complete IDE with integrated debugger, and it's a single executable, so no install hassles. It's only 6-7 MB in size. It's got support for remote debugging. Code completion is good, and cross referencing is provided by simply hovering the mouse over the symbol you want to know more about. It's a well thought out project. Plus it's FREE and in active development. The latest version supports Python 3.0 as well.

Try it out. It's really good work, just like Python.

Update PyScripter's option to this list: [Windows, CP, F, AC, PD, EM, SI, LN, CT, UT].

[1] http://code.google.com/p/pyscripter/

(16) Strong +1. Tried a half-dozen others at least, and PyScripter is simply outstanding. You forgot the customizable hotkeys and code templates, and the fact that it's built in a lower level language so it's FAST. - John Pirie
(6) Wow, that's awesome (after view->themes->default, anyway ;) - Blorgbeard
(6) For lightweight scripting on windows, PyScripter is just unmatched. - Victor Yan
Have to agree, Pyscripter is easily the best I've used - What
(1) Very nice, thanks! Makes debugging much easier for this Python newb! - Adam Neal
Nice find! Thank you. - James Roth
I've been using this, as it comes with Portable Python. I experience an awful amount of lag. Often as bad as 15 seconds until it responds. I have no clue what the causes are, but I do leave it open for days (I just put my computer into hybernation), and it's running off of a flash drive. Ram is not the problem. - Wallacoloo
(3) PyScripter is the only IDE that I find myself starting up as often as my text editor (Notepad++ or VIM) - for all of its power, it starts up fast. - Sean Vieira
Also, PyScripter has a portable version of Python. Vital to me, since I do most of my coding on my USB drive in Internet cafes.... - Jonathanb
It is simple and very powerful IDE. Our team chooses it over all other commercial and free tools. - MajesticRa
A windows-only ide for a cross-platform language? - BrainStorm
PyScripter has a VERY SLOW debugging. - DSblizzard
nice. You can adjust the autocomplete settings under tools>options>ide options. I unchecked "Complete with word-break chars" and use tab or enter instead of space. - robert king
5
[+66] [2009-01-30 12:26:47] Lakshman Prasad

+1 for Wing Professional IDE.

The "Go To Definition" and "Source Assistant" can really go a long way to assist in your Python learning.

It has Vi and Emacs Emulation too, if you need either of them. Only the UI is bad, if on Windows (as it is based on GTK). It rocks on Ubuntu.

If you are using any text editor, (Scite is my choice) then you'd do well by using IPython [1] console. (You can do a easy_install of IPython if easy_install is installed.)

With Python itself providing debug options, and IPython and Bash shell offering good auto-complete options, it is not really that bad an option to do away with an IDE. But if you still want an IDE (as I want), Wing Professional is the best one out there.

I have also tried SPE and PyDev and am not impressed enough to consider them. Some features of PyDev include verifying whether a variable is used or not and auto-setting of different modes- Debug, PyDev, and Java Browsing when you run an application.

If you only need a good Syntax highlighting SciTE (on Windows, SciTE based Notepad++) is a good option.

If you need project organization and auto-complete with syntax highlighting, Komodo Edit is the best option. It also supports many other languages.

If you want everything but the space shuttle (minus some special features of PyDev), Wing Professional is the best IDE currently available.

It is free for non-commercial work on a public Open Source project, see https://wingware.com/store/prices.

The most important thing is to choose one and go with it.

[1] http://en.wikipedia.org/wiki/IPython

I have been using Wingide for years, although I have tried a lot of the rest: eric, pydev, komodo, aptana. I'm a die hard vim-er, but nothing gets closer to Wing for Python coding. Which is a pity, because I feel way more comfortable with FOSS tools. Anyway, I should add that Wing support for debugging, testing and code-completion is just awesome, and that pyrope makes Emacs crash.... - dsign
Second for Wing. - matiit
6
[+52] [2008-09-17 09:54:47] Teifion

I use a Mac and prefer Textmate [1] but there are other choices [2]. For the PC I have heard only good things about Notepad++ [3].

[1] http://macromates.com
[2] http://stackoverflow.com/questions/20533/mac-textcode-editor
[3] http://notepad-plus.sourceforge.net/

(4) Here's one thing about Notepad++: it crashes, sometimes :) - Robert Grant
(4) @Robert Doesn't everything? - muntoo
7
[+52] [2008-09-17 09:59:31] zgoda

See appropriate page in Python wiki [1] and choose the one that fits your taste (have you ever heard of Emacs vs. Vim flame wars? ;)).

Personally, I'm using Textmate [2] on Mac, Komodo Edit [3] on Windows and PIDA [4] on linux.

[1] http://wiki.python.org/moin/DevelopmentTools
[2] http://macromates.com/
[3] http://www.openkomodo.com/
[4] http://pida.co.uk/

8
[+47] [2008-09-17 09:56:44] Kinjal Dixit

There is Komodo from ActiveState which is commercial, there is also Komodo Edit [1] which is free.

[1] http://www.activestate.com/komodo%5Fedit/

9
[+47] [2011-02-24 00:49:10] Chuim

You might want to add Sublime Text [1] also as a possible Python IDE. It is certainly directed to more "hardcore" developers, who don't mind working with a text file when configuring its UI. :)

Its cross-platform version [2] is in beta (Updated 23 Jan 2012), but it is an awesome free-to-try/commercial, with a lot of neat features. The most interesting one for this discussion is that it is itself partly written in Python and one may easily add Python coded plugins.

Other features include:

  • Minimap
  • Snippets
  • Macros
  • Build Systems
  • Configurable Key Bindings
  • Python Plugins (through API)
  • Multiselection (unbelivably useful and effective)
  • Python Console (for plugin development)
[1] http://www.sublimetext.com
[2] http://www.sublimetext.com/blog/articles/sublime-text-2-public-alpha

Vintage mode is a plus. - i3enhamin
10
[+37] [2009-01-15 13:18:19] Tommy

Netbeans 6.9.1, though it doesn't seem to support Python 3.X syntax yet.


(17) You can set up a python interpreter on your system , you don't have to use jython . - Tempus
Support for python in netbeans seems quite good full features can be found at wiki.netbeans.org/Python - Mark Davidson
I've just started using this and it's pretty cool. Sticking with Jython for now, but might switch to IronPython or CPython. - Nosredna
Yeah, I support netbeans as well and even without jython. - zerofuxor
11
[+35] [2008-09-17 22:51:05] Gregory

I've been a professional working with Python for 8 years and for large projects nothing has been more practical to work with than WingIde [1]. Komodo, Eclipse, Boa, SPE, IDLE, PythonWi has always caused me grief and I always go back to WingIde. WingIde should be high on the list especially if you have to debug multi-threaded python apps, large frameworks like Zope, Django, Twisted, etc. It is cross-platform, multi-monitor, excellent support, always improving.

When you have to develop projects with hundreds of modules, WingIde is a strong choice.

[1] http://www.wingware.com/

12
[+30] [2008-09-17 10:11:36] badp

IDLE -- Does the trick for me (on Windows). Sometimes applications have weird quirks when run with this tool; otherwise its completion features are unequalled. Ugly font rendering, use bitmap fonts. Ugly GUI. Sometimes the loopback connection breaks and restarting is required to get it working again.

PyDev -- Lacks IDLE's completion features, but features smarter indenting. Requires you to create projects beforehand; after you do that, however, just copy pasting your Python scripts to the project folder will do. Sometimes it froze hard, but I'm not running the latest versions.

Gedit -- Does the trick for me (on Linux). General purpose editor that comes with a general purpose autocomplete plugin that is actually pretty good given the premises.

Vim -- I have a beef with how Vim autoindents Python.

For the first times though, nothing beats running Python's own text shell for toying around and reading those overlong help() outputs with less (Linux only). Otherwise be prepared to scroll up a lot.


13
[+28] [2008-09-18 10:19:22] Ber

I like SciTE [1] very much.

[1] http://www.scintilla.org/SciTE.html

14
[+27] [2009-04-08 13:20:04] Bruce van der Kooij

Up until a few months ago I was a long time user of SciTE [1] (SCIntilla based Text Editor) but recently I've switched to using Geany [2], another lightweight open source Scintilla based text editor written in C. It's similar to SciTE but better in a lot of ways.

The only things I changed to make me feel more at home was the color schema (to match SciTE's) and disabling all the widgets I don't need (toolbar etc.).

A screenshot of my Geany instance

Some of the interesting features of Geany (some also apply to SciTE):

  • Folding
  • Markers (easily switch between sections of a file)
  • Simple session restore (project based files)
  • Snippets (similar to SciTE's abbreviations)
  • The ability to reorganize editor tabs

Geany (CP, F, AC*, MLS, SI, BM, LN, CF, CT)

[1] http://www.scintilla.org/SciTE.html
[2] http://www.geany.org/

i also use geany, and i love that isnt bloated, and features everything you need. It also has a button to start your python script directly ...and it even shows a console for GUI-Applications what is absolutely necessary when debugging GUI-Applications - smerlin
(1) One feature that's high on my requirements list is a stack-like go-to-definition shortcut: I can jump to a definition, then to another and another, following a sequence of nested function calls, and then unwind the stack, returning from each jump to the place I was beforehand, in reverse order. It's a very helpful tool for understanding code, which got me hooked on the rather expensive SlickEdit ages ago. I was finally able to ditch SlickEdit when I found Geany, which is open source, cross-platform, and has this feature. - ʇsәɹoɈ
Try out geany-pyflakes plugin and edit your answer to provide error markup :-) code.google.com/p/geany-pyflakes - gruszczy
15
[+25] [2010-10-21 12:21:34] yedpodtrzitko
looks good, thanks - simfoo
16
[+23] [2010-10-14 15:17:05] sojin

I've been using Spyderlib for some time, really worth trying.

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

Having to juggle between platforms, it's a lightweight, efficient editor targeted at scientific development.

Among others, it features:

  • CP - Cross Platform
  • F - Free
  • AC - Automatic Code-completion
  • PD - Integrated Python Debugging
  • EM - ErrorMarkup
  • SI - Smart Indent
  • LN - Line Numbering

It is easy to try it directly from checkout:

hg clone https://code.google.com/p/spyderlib/
cd spyderlib
python bootstrap.py

and it's a snap to install using pip install spyder or if your on a Mac with MacPorts with a simple sudo port install py26-spyder


+1 I've never heard of this one before - Seth
17
[+19] [2008-09-17 09:56:44] Ben

Eclipse with PyDev is pretty good these days.

I did dabble a little with SPE (http://pythonide.blogspot.com/) and Eric (http://www.die-offenbachs.de/eric/index.html) but found them a bit slow.


18
[+18] [2008-09-22 07:43:27] pelle

Emacs (python-mode).


19
[+17] [2008-09-17 10:05:44] WalkingRandomly

I use gedit on my Ubuntu Linux machines. It's part of the standard GNOME installation and so you will also find it on many other Linux distributions. This means that it's either installed by default or installation is just one command away. When you load it up it looks a bit like notepad does on Win XP but it is a lot more powerful.

The beauty of gedit is that it has Syntax highlighting, not just for Python, but for many other languages as well. This is great because it means that I only have to get used to one editor no matter which language I happen to be hacking in.

If wish, you can also get it to do things like bracket matching, line numbering, launch a python console etc. More details can be found at

http://www.instructables.com/id/Using-Gedit-as-a-Python-IDE/


+1 for gedit. It's a simple, no-nonsense text editor and really that's all I need for Python. - bobince
I too use gedit and could need class browsing - 909 Niklas
20
[+16] [2008-09-17 09:57:11] David Heggie

Big fan of Active States's Komodo IDE, which has excellent multi-language support, debugging, code-completion, source control integration etc. There's also its free little brother Komodo Edit available which is more than capable for many day-to-day tasks.

Both are cross-platform (Windows, Mac and *nix)


21
[+15] [2008-09-17 16:37:53] Manzabar

Which editor I use depends on the OS/environment I'm working in.

[1] http://www.gnome.org/projects/gedit/
[2] http://kate-editor.org/
[3] http://www.ultraedit.com/

22
[+14] [2008-09-17 11:21:28] Matthias Kestenholz

A general purpose editor which is not mentioned too often is jEdit [1]. After searching for an editor that suits me for years I settled on that one and use it pretty much exclusively now. Despite being java-based it feels fast and even starts up quickly on not too old computer.

[1] http://www.jedit.org

23
[+14] [2008-09-22 07:40:49] crystalattice

I normally use SPE (http://pythonide.blogspot.com). It's written with wxPython and includes wxGlade as a development tool. It also has code completion, UML generator, Blender support, and built-in PyDoc viewer. There are also many other features that it comes with, not to mention that it's free to use.


24
[+14] [2010-05-14 15:33:31] Jeff Gonzalez

JetBrains as recently made their PyCharm IDE available for public preview. It isn't super yet, but I can imagine that they will shore it up pretty quickly. They are known industry wide for making exceptional products.

http://www.jetbrains.com/pycharm/index.html


It's now been released as of October 2010, and pretty great. - gbc
25
[+13] [2010-01-24 00:07:01] Ken

Even though I think there's a "best" choice here (whatever that means...) and it's been mentioned, I'm going to break with what everybody else here has said, and quote Andy and Dave:

Use a Single Editor Well The editor should be an extension of your hand; make sure your editor is configurable, extensible, and programmable.

If you are already skilled at an extensible editor, then keep using that -- you just have to figure out what extensions make Python easier, but chances are somebody else has already done 99.9% of the work for you.

If you aren't skilled at an extensible editor yet, then you should be! Pick one and start learning, but don't limit your search to only "what's good at Python, today?" because you weren't using Python 5 years ago and there's a good chance you won't be using Python 5 years from now. Get an editor that's good at editing text because that seems to be the only constant in this field.


26
[+12] [2009-03-23 12:41:49] Eigir

It is not easy to recommend an IDE for python, since they all have their strong and weak points.

But here is the two I use, and why:

WingIDE. This is my preferred IDE for larger projects, and the most important reason is its debugging capabilities. No other IDE I have tried have ever come close to WingIDE in that sense. But for that, I have to sacrifice a few things, like re-factoring... and money (I use the commercial version).

PyDev with Eclipse. I have just started to use this one, and love the fact that it has re-factoring. It also has a much better code-completion than WingIDE. On the negative side: I find it to be too complex. I'm struggling with the svn integration, how the projects are done, and that I'm not able to configure it with my favorite low-contrast color scheme.

A few years back, Emacs was my favorite (for programming, reading email and usenet new). Today, I prefer a perfect IDE... of which we have none... :-)

PS: I suggest an addition to the Acronyms: REF - Refactoring.


Wing now has refactoring (in the current beta). Wing Pro is, by far, my IDE of choice for python work. - Russ
27
[+11] [2008-09-17 09:57:37] INS

The editor that comes with the python distribution (Idle) is very good for first time Python programmers.


28
[+11] [2009-02-22 21:58:48] alexpopescu

I just want to update the WingIDE features. I'm referring to the 3.1 version (latest now Febr.2009):

CP, C, AC, MLS (support for C), PD, EM, SC, SI, BM, LN, CF, CT, UT

Hope you'll find this update helpful.

./alex


it was very helpful. I update the list. Thanks - husayt
29
[+9] [2010-01-19 02:01:44] Etienne

You can add Editra [1] to the list.

(CP, F, AC, MLS, SC, SI, BM, LN, CF)

Written in python with wxPython, well done, with some nice plugins (project (SVN, etc.), code browser, comment browser, ipython shell).

With the PyStudio [2] plugin, you get (PD, EM) added.

[1] http://editra.org/
[2] http://code.google.com/p/editra-plugins/wiki/PyStudio

30
[+6] [2009-05-04 22:00:46] mkClark

I usually just use Notepad++:

  • Free
  • (User-Extendable) Multiple Language Support
  • Line Numbering
  • Code Folding
  • Windows Only (Unfortunately)
  • Many other extensions and features.

I normally write fairly simple scripts, and don't need a full-scale IDE. However, I am looking at IronPython.


31
[+6] [2009-08-03 23:08:34] jpartogi

I really like using IntelliJ IDEA [1] with Python plugin [2]. Sometimes I need to cheat and look at the code of the library I'm using.

[1] http://www.jetbrains.com/idea/
[2] http://plugins.intellij.net/plugin/?id=631

IDEA's Python plugin is better than PyDev in most ways. Only missing debugging, but when that comes, it will be the best by far. - truppo
32
[+5] [2009-12-21 06:24:47] JS_is_bad

I use vim [1] to write very small Python scripts and ipython [2] for interactive experiments and investigations of unknown APIs.

I also use pudb [3] for debugging Python code.

However, my favourite Python IDE is leo [4]. Being written in Python itself, leo has a huge potential. It is fully scriptable and has a lot of tasty features. leo is different from traditional text editors and IDEs, it might look unusual at a first glance. But after using it for a while (not only as programming IDE) most people realize that leo is unique, because it raises the data management process to a new level.

[1] http://www.vim.org/
[2] http://ipython.scipy.org/moin/
[3] http://pypi.python.org/pypi/pudb
[4] http://webpages.charter.net/edreamleo/front.html

it's also possible to use ipython and Leo 2way bridge, though at this time it's restricted to 0.9x ipy ref - matt wilkie
33
[+5] [2010-01-22 15:56:47] user151766
34
[+5] [2010-12-24 14:49:03] fedotoves

I think PyCharm from JetBrains (commercial) is a good choice


35
[+4] [2008-09-17 11:18:00] Drag0n

I've been using Vim without hassle for all of my Python development. I find it handles all programming languages very well, but when it comes down to it, it's a personal preference and you have to experiment with all the editors around until one suits you best.


36
[+4] [2008-09-17 20:42:06] jilles de wit

I use eric ide [1] for most of my python work. It has all major features needed in an IDE, and quite a few minor ones as well, it is written entirely in python and uses QT so it is pretty cross platform. It also integrates the interactive python shell for quick experimetation.

[1] http://www.die-offenbachs.de/eric/index.html

37
[+4] [2009-01-31 03:47:34] jussij

On Windows there is Zeus - http://www.zeusedit.com

It does Python syntax highlighting, code folding, code indenting, code templates etc.

You can even write Zeus macros using the Python language.


38
[+4] [2009-04-01 19:55:51] Berry Tsakala

You should add Boa Constructor. I used it only once but it seems mature. http://sourceforge.net/projects/boa-constructor/ It contains a usable RAD - GUI and a code designer (as Dabo).

I'd suggest few more features to your list (in which I'm interested in particular):

  • GUI Designer (e.g. Qt, Eric, ..)

  • integrated database support

  • RAD (rapid application development, which IMHO means that the GUI Designer integrates code generation in a way that the user doesn't need to know about, for basic needs (as Visual Basic, and as where Dabo is aiming).

IMO Rapid dekstop development with seamless DB integration makes development rock for most common business applications, both in development and more importantly - for maintenance.


Thanks. Added your suggestions in - husayt
(1) Boa Constructor has been dead/stagnant since 2006. - Russ
not entirely true. it had a major update in the CVS 2 years ago, and the author is responding to emails. - Berry Tsakala
39
[+4] [2009-05-22 18:13:26] Ibn Saeed

I would say that the best IDE for Python would be Wing IDE. Though it's a commercial application, it's quite powerful and it does justice to Python language.

Second IDE I would opt for is PyScripter, it is very simple but powerful and it gets the job done with no hassles. Moreover, it's free.

Third IDE I would opt for is Eric IDE, especially for developing PyQt Applications.

Also, I am on the lookout for Netbean's Python support, so far, they have only released a Early Release version. Lets see how the final version comes out.


40
[+4] [2009-12-21 05:56:38] Jeffrey Hines

IronPython Studio - Microsoft's 100% compatible Python implemention integrated with Visual Studio 2008 and it's free.


Do you have to BUY Visual Studio 2008? - Christopher Mahan
No. It uses the Visual Studio Shell. - Jeffrey Hines
41
[+4] [2010-01-05 13:22:45] Tomas Brambora

There is a nice article on turning Vim into a Python IDE: http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/

I've followed it (well, most parts at least) and it pays off. Vim doesn't bother you with lots of windows and unnecessary nested menus that are difficult to memorize and work with (yes, Eclipse, I'm talking to you). Vim gets the job (being an IDE, that is) done simply and effectively.


42
[+4] [2010-04-15 07:01:31] 1.01pm

I use LEO [1] which really is more than just a programmer's editor and deserves it own category.

[1] http://sourceforge.net/projects/leo/

(2) @1:01pm, nice to run into someone else who uses this beautiful piece of unsung software :) It's already been mentioned on this list, at stackoverflow.com/questions/81584/what-ide-to-use-for-python/…, throw your weight behind that entry to raise it's profile a bit. (Assuming you still like and use leo of course ;-) - matt wilkie
43
[+4] [2010-07-15 06:38:18] Arkapravo

DreamPie [1], however much of it is derived from IDLE.

[1] http://dreampie.sourceforge.net/index.html

44
[+4] [2010-08-06 15:01:58] user413181

For Windows, PyScripter is the by far the best that I've tried. Very simple and clean.


45
[+4] [2010-10-20 23:31:52] Wan

Not only for Python, but also for other languages, I use Scribes [1].

  • No visual clutter. Ultra-minimal.
    Its 'philosophy' is to be the most simple and sleek editor. That means just the few buttons necessary, the editing area and nothing else. No screen space is wasted by some IDE-like way of managing some barely used functionnalities. It even recently abandonned the menu bar by default (hidden most of the time but still accessible from a 'trigger area').

  • It has no tabs (that frightens quite a few people), but it's only because it shouldn't be the job of the editor to manage the different documents opened: it's the job of the window manager (try pekwm for example). If you're not convinced by this approach, I still recommend to give it a try.

  • To achieve the simplest interface, it has some useful hotkeys (list them with ctrl-h).

  • A way to open files quickly (a little bit like launchy or gnome-do), details can be found on the development blog.

  • Snippets (the fastest way to code).

To put it short, it tries to apply the 'Less is more' design. Turns out it is a lot more practical than most editors/IDE out there, and it still stays simple.

[1] http://scribes.sourceforge.net/index.html

46
[+4] [2011-02-10 15:00:58] Foo Bah

(sorry if this is a repeat) Python wiki page has a list of editors:

http://wiki.python.org/moin/PythonEditors


I suggested in the question comments: to mantain this list in this useful wikipedia page rather than here. - bluish
@blush -- but that list should be nonpartisan [after all its wikipedia :] - Foo Bah
47
[+3] [2008-09-17 09:59:13] cszikszoy

It would help if you provided what platform you are working on. For Linux (and probably other platforms) there is an Eclipse plugin for Python. I believe there is also a plugin for KDevelop.

I've heard a lot of good things about Code::Blocks, and it is multiple platform (win, mac, lin). Maybe give this a try: http://www.codeblocks.org/


Code::Blocks is for C++ development mainly. - INS
Yes, and while I love code::blocks, it's not as cross platform as it would like to be. My experience with it on OS X is less than perfect. KDevelop is a reasonably good editor though. - Jason Baker
48
[+3] [2008-09-17 10:03:25] Andrew Burgess

Usually any decent text editor will get the job done when editing Python files. I used Geany [1] quite regularly since it has highlighting, indenting, and can run the script directly from the editor. It also includes a class browser feature which can extract methods and variables from a source file into a tree structure.

It is also extremely lightweight so it's not a big deal to start up for a quick edit.

[1] http://www.geany.org/

49
[+3] [2008-09-17 10:52:22] Tommy Herbert

I code Python mainly under Linux, and use Bluefish, a text editor intended mainly for web design but which has syntax highlighting for Python. I think the power of a Python interactive session means there's no need for an IDE.


"the power of a Python interactive session means there's no need for an IDE" Agreed. Which is why Komodo is basically an editor and a python command line, although it also has a debugger. - Matthew Schinckel
50
[+3] [2008-09-17 15:34:59] Echo

Dabo [1] has its own IDE. It was decent if you wanted to use the dabo library to help with wxWidgets in Python. I stopped using it since I've moved to doing web development.

In Windows, I use Notepad++. In Linux, I am still trying to figure out what I like the most. I'm trying out Eric4 right now.

[1] http://dabodev.com/

51
[+3] [2009-06-25 17:30:10] Trent Mick

Some updates for Komodo: +EM (if you mean underline squigglies for syntax errors) +SI +BM (there is subtle highlighting of the matching bracket when cursor is on a bracket, plus keybindings to jump between them) +LN +CF +CT (Komodo calls them "snippets") +UT (in the commercial version, Komodo IDE, only)


52
[+3] [2009-12-23 15:33:06] Binary Phile

I've used many, if not most, of the python IDEs out there. I have a bias toward free software, of course.

Of the commercial ones, I've only really tried Komodo, and it is excellent. Debugging support is comprehensive, with the ability to run interactive commands in the middle of a debugging session. ActiveState has been doing this a long time and makes it all work. That said, the free solutions are comparable enough that I haven't found it necessary to pony up the $$ for Komodo, but I still envy it at times.

Wing IDE is also supposed to be excellent for a commercial product, but I haven't used it. It has a good reputation if you are designing GUI-based apps. It may have an edge on Komodo in that respect.

Of the free solutions, I two environments, one that is full-featured and one that is bang-for-the-buck quick and dirty.

For full-featured development, I use Eclipse with Aptana PyDev as well as PyLint. PyLint integration is one of the big features, along with good (but not great) debugging. Subversion integration is a big plus and one of the features missing in a lot of other IDEs. The price you pay for these features is a lot of banging your head on trying to configure it all, since Eclipse is the Ikea of development environments. You have to obtain and assemble the pieces for each feature. Once it's together though, it's a great environment. The only other thing I haven't really investigated is unit testing support.

For bang-for-the-buck quick and dirty development I use PyScripter and it's the MVP of the ones I've used. It's small, comes in a portable .zip flavor, and has almost all of the features of the big boy Eclipse. I can't say enough good things about this environment, but there are just a couple nitpicks. The UI is a bit quirky in places, but it has all of the tools I need except subversion integration (it has pylint integration but I haven't tried that). The debugging is good, although it maintains a single interpreter session between runs so you have to reinitialize the interpreter between runs if you want to make sure you have a clean slate. Finally, you need to install an older version of the rpyc library to run an out-of-process interpreter session, which is desirable for stability and compatibility with all libraries. Unit testing support is available although I haven't checked that out either.

Here's a list of the other IDEs I've tried at one point or another: * Komodo Edit - a nice editor but not an IDE really * DrPython - good simple IDE * Eric3 - a bit confusing, didn't go too deep * SPE - one of the most featureful of the free IDEs, but didn't like the linux-focus of late (eg, no windows installer) * Notepad++ - plug for a favorite editor, not an IDE but gets the job done * PythonWin - simple, but PyScripter is as simple and far better * IDLE - in a pinch

Overall, if money were no object, I'd go with Komodo for it's great debugging, but I'd miss subversion integration (unless it has it now, it's been a long time).

Of the free solutions, I'd handily recommend PyScripter to new and experienced alike. If you do it for a living, though, I'd take the time to download the "core only" version of Eclipse and install Subversive, PyDev, PyLint and Mylyn integration with a good issue tracking system like Redmine.

My $.02


53
[+3] [2010-01-03 23:54:12] utku_karatas

There's a new contender for Windows that I code named Pfaide [1] in alpha state.

* C - Commercial
* AC - Automatic Code-completion (actively in the works, planned to be the killer feature in the end)
* MLS - Multi-Language Support (right now CSS, JavaScript, HTML with Django blocks.)
* PD - Integrated Python Debugging (right now only CPyhton 2.6, other platforms like IronPython also in the works)
* SC - Source Control integration (integrates with Tortoise* via shell context menus)
* SI - Smart Indent
* BM - Bracket Matching
* LN - Line Numbering
* CF - Code Folding
* CT - Code Templates
[1] http://pfaide.com/

54
[+3] [2010-10-29 05:42:33] entd

Actually where is monodevelop, which has nice python plug-in too.


55
[+3] [2011-01-12 14:58:00] Fred

EditRocket [1] - cross platform (Windows, Mac, Linux), not expensive, code completion, bracket matching, line numbering, code templates, snippets, ftp/sftp, python script integration, local web server integration, etc.

[1] http://www.editrocket.com/

56
[+3] [2011-01-31 14:56:01] rogermexico

SciTE is also: SI and AC (via user files). In my experience, is useful to separate text editor and dev. tools, because it is good to use the same text editor for coding in many languages and performing other editing stuff (docs, etc.)


57
[+3] [2011-03-01 12:40:26] DSblizzard

Notepad2. One of the best lightweight editors for Windows, it's free. Replace notepad in the system folder with it and forget about notepad!


58
[+3] [2011-03-20 23:53:04] pmav99

There is also NINJA [1] According to the site is supports: (CP, F, AC, LN, BM, CF)

[1] http://ninja-ide.appspot.com/

59
[+3] [2011-03-28 23:27:18] Max

Visual Studio with Python Tools for Visual Studio [1]. It supports CPython and IronPython and fully integrates into the IDE (debugging, REPL etc).

[1] http://pytools.codeplex.com/

60
[+2] [2008-09-17 12:02:41] Jon Cage

I prefer to use PyDev for Eclipse [1], but E-Texteditor [2] has some good bundle support (same as Textmate).

[1] http://pydev.sourceforge.net/
[2] http://www.e-texteditor.com/

61
[+2] [2008-09-18 10:03:38] nonades

For Windows I tend to use ConTEXT [1]. It's not open source, but still excellent none-the-less.

[1] http://context.cx

62
[+2] [2008-09-18 10:49:10] bgbg

It is very strange that nobody mentioned ipython (http://ipython.scipy.org/moin/). Ipython is a "python shell on steroids". It is a very useful (actually, must have) companion to any IDE. The new version of ipython is supposed to solve several problems that prevent its integration to IDE's. I really hope PyDev will have ipython integrated in it.


63
[+2] [2009-02-10 13:12:16] Krakkos

Anyone use the Cream front end for Vim?

http://en.wikipedia.org/wiki/Cream_(software)


64
[+2] [2009-02-22 22:25:05] Stephen Simmons

Is there any reason why PythonWin hasn't been mentioned yet? I find it easy to use, has nice autocompletion, and it's available under Windows if PyWin32 is installed.


it is added now. thanks for letting me know. - husayt
+1 for PythonWin. Has all the features of IDLE (F, AC, PD, SI, BM, CF) but slicker and smoother. A solid Windows editor even if you don't otherwise use the PyWin32 API. - Don O'Donnell
65
[+2] [2009-03-23 12:03:47] Vasil

Usually people that come from other languages especially the .NET ones will ask about IDEs and won't accept text editors as an answer.

Because of the nature of the language a tool that tries to approach increasing productivity like eclipse and netbeans do for java or VS does for C# will fail miserably at that.

The features I've found most useful in the tools I've used for python are:

  • Good support for code snippets - Textmate/e-editor, Gedit, Emacs
  • Good support for browsing directory structures and moving around files - Textmate/e-editor, Eclipse (with pydev), Gedit.
  • Autocomplete for used names - Textmate/e-editor, Emacs, Gedit.
  • Good integration with VCS - Eclipse, Emacs, Textmate.

I've mostly stuck with Textmate on OS X and e editor on Windows. In combination with IPython I don't have much need to use anything else.


66
[+2] [2009-06-18 10:02:11] Lee B

Last time I tried Netbeans for python, it was brand new (well, beta I suppose) and did everything Eclipse + PyDev did. Overall, I thought it was nicer, except for a small issue with rendering lines so underscores were cut off. I believe this is to be fixed in the next version, which is due out VERY shortly. You can download builds of the next version now, but they don't yet have the plugins for python available. Many plugins aren't available for it yet though, so I don't foresee a problem there.


67
[+2] [2009-09-24 17:54:47] devarni

I prefer PyDev (it's now free with all extensions, since it was acquired by Aptana). It has all features for modern Python programming and all the additional features coming with the Eclipse platform. It works on Linux and Windows. So you can easily have the same IDE on your preferred OS. So my Nr. 1.

A strong competitor for Pydev is Netbeans with the Python plug-in. But currently it's more for early adopters. I filled some bug reports about problems with the code assist and the debugging. But I see much potential that Netbeans can be in the future the Python IDE.

There are some text editors like Gedit, Vim, Emacs. For quick editing I like Gedit but it is not an IDE and I would never use it for large work or bigger projects.

I also tried some commercial IDEs like Komodo. But IMHO it's not the worst waste of money if I compare them with Pydev or Netbeans.


68
[+2] [2009-10-19 18:11:52] PEZ

No one has mentioned XCode? It's great.


Can you elaborate on what is great about it. You can use acronyms we used above. - husayt
69
[+2] [2009-10-19 19:31:44] abbot

I would like to update the entry about SciTE: It is more like: CP, F, MLS, EM, BM, LN, CF, CT. Not to mention that it is lightning fast and quite scriptable compared to most alternatives.


Thanks, added, but without mentioning it is lightning fast and etc.. ;-))) - husayt
70
[+2] [2009-10-29 00:41:17] Kaleb Brasee

I usually use good ol' gvim.


71
[+2] [2009-12-01 20:25:21] DNS

Eclipse with PyDev


72
[+2] [2009-12-14 12:35:39] luc

I am using 3 different tools:

  • PyDev when developping regular Python code. The debugger is great.
  • Komodo Edit for web apps with Django. I like the HTML, CSS, Js editor.
  • SciTE for single file. It is lightweight.

73
[+2] [2010-02-22 20:55:29] snkmchnb

KDevelop (CP, F, MLS, SC, SI, BM, LN, CF)


74
[+2] [2010-03-17 05:19:56] Arkapravo

I use Dr.Python [1] (ver 3.11.0) and SciTE [2] , Dr.Python is pretty good, though it hasn't really been very popular !

[1] http://drpython.sourceforge.net/
[2] http://www.scintilla.org/SciTE.html

(1) I checked Dr. Python out, ended up coding the whole night in it. It's great! - invert
@KeyboardMonkey : It is funny that such a smooth functioning Python IDE has not been popular. People love eclipse (which is difficult to work with, and has tons of nuances associated it) and Netbean; while Dr.Python finds no favour ! - Arkapravo
75
[+2] [2010-04-28 20:33:18] user978806

The wing IDE but jetbrains has something new: http://www.jetbrains.com/pycharm/index.html


76
[+2] [2010-07-05 22:16:05] belacqua

Something I hadn't seen noted is that the Wing IDE now comes in a free flavor, Wing 101. It has reduced capabilities relative to the non-free versions, but I found it pleasant to work with, and it does have a break-point debugger and some other nice features. It was apparently designed in cooperation with the U of Toronto for CS students.


77
[+2] [2010-07-28 13:22:16] daitangio

I am using PyDev [1] and Komodo Edit (Open Version).

Komodo seems updated on a more regular basis, so I will suggest it for a Python/Perl/Bash coder. Komodo is lighter than Eclipse on Mac OS X and Linux too.

[1] http://en.wikipedia.org/wiki/PyDev

78
[+2] [2011-01-11 16:41:21] scriptdev

I like using ScriptDev [1]. It's a scripting language IDE, it can support some very popular scripting languages, for example, Python, Ruby, Lua, Tcl, Perl and so on.

Major features as follows:

  • Supports debugging Python, Tcl, Ruby, Perl, Lua scripts.
  • Code intelligence (Code completion, folding, auto-complete, code snippets, syntax highlighting matching tags, show keyword or variable information when mouse over...).
  • Keyword help and improved script document.
  • Integrated commonly-used scripting libraries (Tk, wxPython, Pygame, Pmw, Numeric...).
  • Supports compiling python scripts to Windows EXE files.
  • Scalable architecture (like Eclipse), supports plugins (interpreters, tools, skins...).P
[1] http://www.scriptdevelop.com

79
[+2] [2011-03-29 13:19:28] J. P. Petersen

I guess that Iep [1] can be a good editor if you are working with interactive plotting using Matplotlib.

I don't use it yet, because it has some editor problems on Mac. But they are working on a fix for that. I'll give it a try when they fix it :)

[1] http://code.google.com/p/iep/

80
[+2] [2011-08-12 09:57:55] David DelMonte

I haven't seen anyone mention Coda [1]. It's Mac only, and I know it's not perfect, but I keep coming back to it. Looking forward to their v.2.

[1] http://www.panic.com/coda/

81
[+1] [2009-02-06 17:44:05] Joonas Pulakka

NetBeans is great, especially if you also happen to do for instance C / C++, Java or PHP.


82
[+1] [2011-02-01 07:50:32] Y.H Wong
  1. Pydev for Google App Engine
  2. Emacs+Pymacs+Ropemacs for small scripts

83
[+1] [2011-03-13 16:17:48] Hugo

Gedit (CP, F, AC, SI, BM, LN)
Available for BSD, Linux, Mac OS X, Windows, amongst others.

Code completition is only for functions in open files and variables.
There are also plugins for a file-tree on the side panel, and a terminal on the lower panel.
Most of the other functionalities are plugins as well.

https://secure.wikimedia.org/wikipedia/en/wiki/Gedit


84
[+1] [2011-03-23 16:57:18] iyogee

After using IDLE for a few days, I switched to and like pydev perspective in Eclipse. I like it better than Aptana's integrated solution. I haven't tried to integrate svn into Eclipse.


85
[+1] [2011-03-28 21:26:27] kami

I use gvim when I'm programming myself and use gedit when I'm teaching it to my students (I tried Eric python, but it crashed the first time and I didn't try it anymore after the crash).


86
[+1] [2011-05-10 07:08:43] Ars

For beginers the best option would be to start with net beans (6.5 or 6.7 Python EA Version).


87
[+1] [2011-05-12 13:24:26] Andrew

I'd vote for WingIDE [1] and Eclipse w/PyDev as an up and comer. Wing is a commercial product but like alot of IDE's they have a "1-month Free!" going on and decently priced otherwise. Nice rational project layouts, strong debugger, pretty good symbol scraping(especially good for installed libs).

[1] http://wingware.com

88
[+1] [2011-06-30 20:44:46] demongolem

PyDev for eclipse works because you can very quickly switch between languages. Python is not my first langauge (gasp) but for some tasks, particularly for natural language processing, it is very helpful. Powerful enough to do what I need to do yet flexible enough so that I can minimize the number of IDEs I am using.

The only gripe I have is that if load down eclipse with too many "extras", you pay the price when you try to start the application.


89
[+1] [2011-07-27 22:09:59] Abdelouahab

i think IEP is the best for the beginner, it's simple, and fast, and supports Stdout (raw_input) and unicode since it's made using python 3, it's a python 3 software, but also works with the 2.7, there is a modified source, or you can install directly the compiled version, i'm a windows user and it works like a charm, it seems that they're preparing a new release! and it will be a real new one :D


90
[+1] [2011-08-03 03:17:43] David DelMonte

For Mac-based developers, I still like - and use Coda [1]. It can syntax check Python scripts, as well as HTML, CSS, PHP... It's a bit long in the tooth at this point, but v.2 is on the way..

[1] http://www.panic.com/coda/

91
[+1] [2011-12-06 09:36:35] MattWritesCode

Netbeans is at the top of my list, i just find it does everything I need it to do without trying to be to smart.


92
[0] [2009-02-06 18:04:16] SD.

For new Python learners the python.org download comes equipped with IDLE which is excellent to start with. It may be ugly but it is very good (auto-complete is good for new learners to).


93
[0] [2009-02-10 11:21:48] okoman

My favorite Python IDE is Komodo [1]. Never had any problems with it and it has everything a developer needs. And if something is not built in you can easily extend the IDE.

[1] http://www.openkomodo.com/

94
[0] [2009-02-22 22:02:38] Ali

I suggest using Visual studio and IronPython.


ironpython is cool, but this thread is about pure python editors. It will be too confusing if we start mixing all python forks together. BTW do you know of any VS addon which would allow pure python development??? - husayt
Visual Studio (++2008) doesn't provide full IronPython support. - Aryeh
95
[0] [2009-02-23 12:55:58] amrtn

NetBeans provides also an Integrated (Graphical) Python Debugger.

(Sorry, not enough rep to comment)


Thanks. updated the list - husayt
96
[0] [2009-03-25 00:31:20] community_owned

For the record, Pida is a wrapper around Emacs, and thus has all the features that Emacs does, with the added bonus of proper project handling, a source-code outliner, and assorted plugins.


97
[0] [2009-04-01 20:25:25] gmuller

Pydev with Eclipse is the clear winner.


98
[0] [2009-05-04 17:18:45] bsisco

I personally have fell in love with vim. You can make it do pretty much whatever you want via your .vimrc file (i.e. indentation, code completion, debugging, compiling, folding, tag/tree navigation etc.etc). It works on *nix and Windows systems. And of course it's FREE!!!


99
[0] [2009-05-04 19:00:15] doh

Vim has CP, F, AC, MLS, SI, BM, LN, CF.

Other than that, it works with or without a GUI, and starts in a splitsecond:

$ time vim -c :q

real 0m0.139s user 0m0.092s sys 0m0.028s

Autocompletion is called Omnicompletion in Vim, but other than that, it's the same.

PIDA integrates Vim and therefore has nearly everything Vim has, but some more features. On the downside, it doesnt start so fast and it needs a GUI.


thanks. i jsut updated the list - husayt
100
[0] [2009-06-18 08:07:31] sunqiang

+1 for WingIDE. Code Intelligence, Debugger, Support Python3.x (Only WindIDE 3.2 Beta, beta2 released recently).


101
[0] [2009-06-18 08:37:35] Abhimanyu

From my personal experience if you have to chose between aptna (Eclipse) and Komodo [1] then prefer komodo. It's a lightweight IDE.

[1] http://en.wikipedia.org/wiki/ActiveState%5FKomodo

102
[0] [2009-06-18 17:16:43] community_owned

NetBeans 6.7. I used to use Emacs, but the combination of decent (and improving) python support combined with excellent html/css/javascript support won me over.


103
[0] [2009-06-25 18:58:27] Serra South

Editra

A relatively new editor written in python, with a pythonic API and features like vim emulation, ipython integration etc.


104
[0] [2009-07-22 00:27:59] Aurelio Tinio

I've given Eclipse with PyDev another chance as a result of this question. After using Komodo as my IDE of choice in the past year working with Django code, I was left impressed with Eclipse' (Galileo) performance improvements on the mac.

I've made the switch and can now easily recommend Eclipse over other options.

For changes done through the console though, Vim is still my preferred choice.


105
[0] [2009-08-25 12:11:47] Alfa07

IntelliJ IDEA [1] with Python plugin [2] in my opinion has better completion and refactoring than PyDev. I use it for django web development so some other features as smart html editor and robust JS refactoring also help very much.

[1] http://www.jetbrains.com/idea/
[2] http://plugins.intellij.net/plugin/?id=631

106
[0] [2009-08-25 12:20:40] Michael Baker

I sometimes use Davys IronPython Editor. Written in IronPython, simple interface. Low barriers to to bash out a few scripts when in a hurry. No real IDE features per se. Find it here: http://code.google.com/p/davysironpythoneditor/


107
[0] [2009-08-29 16:49:27] user116218

I am using the PyDev plugin for Eclipse and it's working great.


108
[0] [2009-09-10 11:11:33] ath

When I started programming Python professionally I tried out most of the recommended IDE's. I wasn't very happy with either so I continued looking. In the meantime I used emacs to actually get some work done and now I'm not looking for an IDE any more.

Emacs with some extra tools such as python-mode, nosetests etc is great. It maximizes coding time and minimizes IDE issues. The only thing I miss is project wide find and query-replace.


109
[0] [2009-09-10 17:45:37] HAWK

I prefer Boa Constructor; which you do not have listed yet. Is it because it is still Beta? Boa was made directly for Python & wxPython. wxPython GUI visual development support & auto complete. The debugging tools are a little buggy but it seems to have all the features once you figure out how to use it.

CP, F, AC, PD, EM, SI, BM, LN, UML, CF, CT. It also has some other cool features like TODO list & show WhiteSpace.


it's not listed but there's already such an answer. - SilentGhost
to SilentGhost: So what? It was not in the list and there are 100s of comments in this thread, you can't expect people to read them all. Hawk, thanks for suggestion. I have added your suggestion in. - husayt
110
[0] [2009-09-17 19:06:24] Davide Aversa

NetBeans has also:

UT LN Some CT

:)


why this marked minus. I don't see anything wrong with this answer. - husayt
111
[0] [2009-10-31 17:25:14] user200230

Pydev with Eclipse (with the VI plugin!) best of both worlds


112
[0] [2009-12-01 20:22:36] tgray

I use Editpad Pro [1] by JGSoft. What I like is that you can set up keyboard short-cuts to run commands.

I've got shortcuts to launch the selected file (with 2.5 and one with 2.6), run the selected file through PyLint, and launch Winpdb on the selected file.

It's really just an awesome text editor, but it works quite well for python development.

[1] http://www.editpadpro.com/

113
[0] [2010-01-24 00:10:23] davidjnelson

I've had good results with both pydev/eclipse and wing ide. wing ide is commercial, pydev/eclipes is free/open source.


114
[0] [2010-02-22 20:48:42] ErikT

I currently use GVim (or vim, depending on my mood) with many customizations. These include having line numbering (which can be disabled/re-enabled by pressing F2) and an option to run the python code from inside the program (shift-e). If you would like to dabble with vim/gvim, I'll be happy to send you my customizations.

If you do not feel like messing with vim/gvim (yes, the key combinations are often rather less than intuitive), I highly recommend the Eric python IDE. You can get it from http://eric-ide.python-projects.org/ and it is already pre-configured specifically for python.


115
[0] [2010-04-25 16:44:33] radek

Has anyone had experience with spyder [1]? I cant see it mentioned but it does look promising..

[1] http://packages.python.org/spyder/

it is mentioned, number 28 - SilentGhost
Good point - the name is misspelled and that's why i must have missed it while searching... Anyway, I had a go with spyder over the weekend and found it pretty good. Has everything I'd like IDE to have.. - radek
116
[0] [2010-06-19 16:14:40] locojay

The best one is Wingware ( when you debug you have the whole stack in the console and can play arroud) On a mac it only works using X11 therefore i use Pydev and the VIM plugin for eclipse


117
[0] [2010-08-19 14:55:41] Momor

Idle is good enough, fits my need. If you prefer an IDE ,I recommend wingide [1]

[1] http://www.wingware.com/

118
[0] [2010-08-24 14:42:08] user429663

PyDev with Eclipse


119
[0] [2010-10-28 11:38:35] Musaffa

I thought python 3.1.2 doesn't work in Netbeans. today i have it a try on netbeans 6.9.1. its working! now i need to compare it with PyDev.


120
[0] [2010-12-09 15:57:48] Lukas Šalkauskas

Maybe this also can be added to the list: http://www.easyeclipse.org/site/distributions/python.html


This is PyDev with extra plugins. - h3xStream
121
[0] [2010-12-24 13:41:41] Andrew Stern

For most development I would use Eclipse with PyDev.

Sometimes for quick development on Windows I would use PythonWin.


122