Python IDEs

Python has a number of specialized IDEs which was interested in trying. Since Python emphasizes easy of development, I was hoping someone had created an easy to use IDE. There are many good languages out there that are limited by the quality of the tools to work with them (Java is one good example). Here are some of the ones I worked with and my thoughts about them. I was surprsied there was no real “winner”: There are a number of excellent options out there, even at the student-friendly price of 0.

PyDev- This is a python extension for the Eclipse IDE. Although Eclipse is powerful and relatively popular, it is slow and confusing and prone to annoying issues. The fact that Ecliplse is the best free Java IDE is one of the reasons I find coding in Java unpleasant. Aside from being extremely slow and memory hungry, it is difficult to get to “coding” and requires a lot of steps to the point where you’re actually working. Not recommended.

PyCharm- This is often considered the “smartest” python IDE, with the best code completion. Some of its more powerful features can’t be found in other IDEs. Unfortunately, ease of use is not one of its strongest points, and its best features are only relevant to the most experienced coders. After a lengthy install and startup, even trying the “quickstart” option ends up forcing you to “select a python interpreter” while building a project. After a few minutes on google looking for the answer I decided this had probably already failed the ease-of-use test.

Komodo Edit- This is a reduced-feature version of a commercial product. It is easy to install and to use, and definitely has the fulled finished feel of a commercial product. Project and file management are a little better than expected, but the free version lacks a full debugging feature. Many people would never miss it, and that makes Komodo Edit the easy place to start, especially for the less demanding programmer (or non-programmer).

WingIDE – Another reduced-feature version of a commercial product. This is now the IDE I am using. It has a very intuitive and complete debugger, which can be difficult to find in a free product. The interface looks like it came out of windows 3.1, but is logical and doesn’t get in the way of working.

Ninja IDE – a newer project and a completely open-source project (for those who do not like feature limited closed source projects). Still doesn’t seem to offer the seamless experience some of the commercial products do. The UI isn’t always consistent, and a red and black “ninja” theme it sets by default is a little bit much. Although it is not something I found useful now, I would bet that it will continue to improve much faster than the other programs here.

IDLE- and although it’d not an official IDE, I wanted to specifically mention the built-in interpreter/shell that comes with Python, IDLE. It gives you an interactive shell where you can execute python commands and receive immediate feedback on their operation. No file names, no import statements, no class definitions, just put in the commands or functions. It combines the python interpreter with some basic command prompt functions (command history, auto completion) and provides a very low barrier to actual programming. It does a great job of bringing the immediate access and sequential feel of a procedural language to python. This is definitely the place to start for anyone learning python, and I think would be accessible even to people with limited programming experience.