Python IDE's / Editors
I'm a huge fan of Python. It is powerful, versatile and very fast to code. It isn't strict like Java, but has the same benefits of run anywhere and a huge amount of libraries available. It can be used for scripting, but it can also be used to build complex programs and re-usable modules. It is also suited for GUI developing.
Of course a huge part of programming is spent on writing the code. As with anything you do, the right tools are essential to success. Having a good editor or an IDE makes it easier for you to concentrate on the code and not on writing it. Which brings me to the question - which is your favorite Python editor or IDE?
I mainly have experience with five different applications which I will shortly go through here (in the order of using). All the applications are free to download and use.
- IDLE
- Pythonwin
- Notepad++
- NetBeans for Python
- PyScripter
Standard IDE that comes with Python. The most useful feature is the Python Shell, which is useful to keep open whatever IDE you are using (unless of course the Python Shell is integrated into that IDE). Features some really basic code completion, text highlighting, class browsing and stantard must have IDE features like block commenting, etc.Availability: Windows, Linux, Mac + others
Plusses: Python Shell, comes included with Python, available for numerous operation systems
Minuses: Too basic to really be used for your primary IDE, no support for tabs in editor (any new files you open actually create a whole new window, ack..)
Use for: Python Shell if you are not running Windows
This is like an enhanced IDLE that comes with Mark Hammond's Python for Windows extensions. These extensions are a must if you wish to code anything Windows specific. The IDE is an improved IDLE with an improved Python Shell (or Interactive Window as it is called) and most of the usual features you would expect from a basic IDE. Still no support for tabs though and mysteriously some simple features are missing like block commenting. The Python Shell is really a must but otherwise the IDE is too basic for serious coding work.Availability: Windows
Plusses: Excellent Python shell
Minuses: No tab support, some stantard features missing, only for Windows
Use for: Python Shell
The best text editor ever - period! But is it a good editor for Python? I would say yes, definately. But it's definately not an IDE. It doesn't have a Python Shell or any kind of class library browser. It is however excellent for writing scripts due to the excellent text editing features. There are many third-party plugins available which can be used to enhance the editor even more (for example FTP, compare tools, code completion, etc).Availability: Windows
Plusses: Excellent text editor, can be beefed up with plugins
Minuses: Not an IDE, only for Windows Use for: Scripting and all your text editing
Yes, NetBeans has Python support. Or actually should we say Jython/Python support, since NetBeans really is a Java editor. If you code Java and you want to integrate some Python into it then this is the perfect IDE for that. For pure Python coding however, it's just way too heavy. It has a Python Console but it doesn't function very well. The editor is good but let's face it, it's a resource hog.Availability: Windows, Linux, Mac + others?
Plusses: Good IDE with all the features you will need, Jython, runs on all major operation systems
Minuses: HEAVY
Use for: Python development for Java projects
A lightweight, open-source, pure Python IDE. Has most of the IDE features you will need and a good editor with tab support. Also has a Python Shell integrated which is a huge bonus! Everything else about this IDE has so far been positive except for the code completion which seems to work kinda odd compared to other IDE's.Availability: Windows
Plusses: Lightweight, good editor, Python Shell integrated, very fast and easy to use
Minuses: Kinda odd code completion, only for Windows
Use for: Scripting or larger programs
What do I use?
Currently I am using mainly Notepad++ for any scripting work and PyScripter for application development. I use NetBeans for Java development and so will keep that Netbeans for Python -installation steady and ready on my hdd. Pythonwin Interactive Window is commonly open if I am scripting with Notepad++.
What are you using? Write your comments, thoughts and experiences below!












Comments (post a comment)