Saturday, February 23, 2008

Choosing a Python development environment

If you are going to be doing any kind of serious development, you will most likely want an integrated development environment (an IDE). This will help you organize your projects and source files, and give you additional tools like automatic code completion and syntax highlighting.

Many people get by using just their favourite text-editor, be it a simple one like notepad, or more complex editors like Emacs or UltraEdit. And there is nothing wrong with that, I guess - but me I prefer to use a tool where everything is integrated.

For Python development, there are quite a few free alternatives. Idle is one of them, and comes bundled with Python when you download it. It's a no-fuzz editor and shell, and is great for those who like simplicity. It's fast and does everything you really need.

If you want to step up a bit, there is Pype, or Python Programmers' Editor which is an editor targeted specifically at Python development. It has lots of nice features which helps you speed up development.

None of these are what I would call a real IDE though. For that, look to Eclipse. This is my favourite IDE for any programming language, not only Python. It was originally intended for Java, and is written in Java, and so can be a bit more than you need and also might be a bit sluggish at times. It does however have all the features you will ever need, and more.

Eclipse is fully modular, meaning that you can add support for different languages as you go along. Java, C / C++, Python, Perl, PHP - whatever you throw at it, you can be almost certain that there is a module for Eclipse that supports your language.

Also Eclipse is free and open-source, which is one of the reasons I like it so much.

There are of course also quite a few commercial IDE's for Python. I haven't tried any of them, but some of them (like the Wing IDE) look quite good. You might want to look for some evaluation versions, if you want to fork out some cash for a professional solution (though Eclipse is VERY professional).

Check out the links:

No comments: