I'm a seasoned .Net developer with a good chunk of experience on the MS stack and in related areas. I'm about to learn Python and was curious about the ideal development environment on Windows - IDE, tools etc.

I'd normally be happy to go out there and have a play with what's available, adapting as I go along. I'd also likely switch between OSX, Linux and Windows to get a good feel for everything that's available. However... I'm also going to be teaching two novice programmers how to program, using Python (thanks to the great information in this SO question.)

So, I guess the real question is what's a good starting point, tools-wise for Python, for a couple of smart, tecnhnically-comfortable windows users who don't yet know how to program but will have the help of someone who does?

+3  A: 

For Python development, we've been using Wing IDE Professional. Wingware also has a version on their IDE they call Wing IDE 101 which was developed specifically for a CS class in Python.

Wing IDE 101

Wing IDE 101 is a free basic edition of Wing IDE that was designed with the University of Toronto Computer Science Department for teaching entry level computer science courses with Python. It omits much of the feature set of Wing IDE Professional and introduces some simplifications appropriate for beginners.

Note that Wing IDE 101 omits auto-completion and most other code intelligence features in the other Wing IDE products. This was by design, so that students are more conscious of the details of the language and modules they are learning about.

Rob Thomas
+1  A: 

When I first started learning python, I just used the editor that's included with the Windows Python Installer. The editor is called IDLE, and while it doesn't have advanced features such as code completion, it's got syntax highlighting and decent debugging tools.

When first trying out something new, the most important thing is to just dive in and start playing. Once you learn the language, you'll start to learn how you use it and will learn which IDE features will be useful to you.

+2  A: 

IDLE, Python's interactive interpreter, is really neat if you're just tinkering with the language. It evaluates statements as you enter them, although the effects are cumulative (so you're not just writing one-liners).

It sounds like you're most comfortable with IDEs, so there are three major options: Wing IDE Komodo PyDev/PyDev Extensions (an Eclipse extension)

They all have free and complete versions, and they omit different features in the free versions. Wing is very clean and polished. Komodo and PyDev/Eclipse can edit multiple languages, but you may not see that advantage in that at the moment. I currently use PyDev because Eclipse has plugins for all the languages I use. My recommendation is Wing IDE or Wing Edit if you just want to get into Python.

This page may be helpful if you don't want to try them all yourself. Note that the landscape is really changing - I know PyDev has come a long way, and I'm sure the other have, too.

Nikhil Chelliah
+2  A: 

Besides IDLE, I use Boa Constructor (good IDE, programmed in Python itself, includes an wxPython GUI builder) and I'm currently exploring DABO as a desktop applications framework and scaffolding

+2  A: 

Rather than IDLE, I'd recommend iPython linked to your favourite text editor for learning.

This allows you to work with Python interactively and play around with the language, whilst still being able to go back and %EDIT (which launches an external editor) functions, class definitions and other multiline constructs that aren't perfect the first time. This feature is not present in IDLE

For development and creating scripts then you might want to move on to working the IDEs mentioned in the other posts, but could always use iPython to try out code snippets.

ipython definitely rocks. im surprised no one else mentioned it.
+13  A: 

The IDLE can be incredibly frustrating to deal with. It's quirks really take away from your coding experience.

I highly recommend that you download the Eclipse IDE.

Once you have the IDE Installed, start it up, go to Help >> Software Updates. Click the Available Software tab.

Click Add Site, and add Select the box, and update.

The PyDev plugin for the IDE is excellent.

From there, you'll need to Window >> Preferences and select Pydev >> Interpreter - Python. Click New and navigate to your python install directory and add python.exe.

You'll be ready to rock and roll. Add a new Python file, type print "Hello, World!" in the editor, and run it.

David McGraw

I upmodded the recommendation of Wing but have to add a more formal endorsement - I used my text editor, then Komodo, and finally settled on Wing after a recommendation. Wing offers the benefits of Komodo but is much faster / lighter. It offers the Python shell within the IDE and manages multiple files/project very well.

No doubt in my experience.

David in Dakota

If I used IDEs, I would choose Eric IDE. I prefer VIM more than anything, though ;)

Mike Hordecki
+1  A: 

SPE is my choice. Cross-platform, has code completion, tooltips, debugger, wxGlade and wxPython support, integrated Python interpreter, and many other tools.


+1 for Wing IDE. I use Wing IDE and Vim. I tried all others: komodo, eclipse, idle etc.. Only Wing-IDE gives you nice intellisense and is not Slow.

My dev env. is Ubuntu btw. Good luck!


If you really like to teach someone form the early beginning: Use Vim and create some *.py Files.

Thats the way it works perfectly for me...