This document lists an overview of Python editors and Integrated Development Environments (IDEs) with which I have some experience. It is meant to get you started editing Python programs.
I don't require that you use any one editor or IDE. I do expect that you'll be able to execute Python from the command line on the UTCS UNIX machines. But — for writing the actual code — I encourage you to find an editor / IDE that works for you. Here are some more notes, if you're looking for a good one.
I recommend you configure your editor/IDE to insert spaces for tabs.
It's important not to mix tabs and spaces in a Python file.
The line between IDE and editor is a little blurry. In the sections below, I consider an IDE to be a program without a built-in Python debugger.
Here are some free programs that provide Python syntax highlighting, but not necessary all the trappings of an IDE like debugging or code completion.
I think the most light-weight option is PythonWin (which is actually an IDE). If you know of other general-purpose editors, post them to Blackboard.
I think the best option would be TextWrangler. It supports Python syntax highlighting, and has a built-in SFTP client for transferring and editing remote files.
I use Kate (a KDE application) on my UTCS machine.
I also use emacs with Python mode.
Eclipse + PyDev is your best bet. Especially if you want a good debugger.
Python ships with an IDE called IDLE. It's a little ugly, but gets the job done. I remember having problems with the debugger, but maybe they've fixed that by now. IDLE is available on the CS UNIX machines. Just type the command idle at the console. Make sure you've got a window manager running, because it's a GUI application.
Python also ships with a command-line debugger. Like any non-graphical debugger it's a huge pain and should be used only as a last resort.
On the Mac in class, I use XCode. I would not recommend it as your default Python setup. I use it in class because I like how it looks on the screen, and it's easy to organize the example programs for lectures.
There is a version of Python for .NET called IronPython. I haven't used it too much. If your default environment is Visual Studio .NET, you might want to check it out and get the Visual Studio plugin. Be careful, though. IronPython is not the same as "regular" Python (i.e., CPython, the one we're using in class).