What IDE support python 3.0.1 ?

Peter Anderson peter.anderson at internode.on.net
Fri Apr 24 09:22:49 CEST 2009


Sam (I presume),

Like you I am also in the process of learning to program in Python. I 
have been using Python 2.5.2 for quite some time but recently made the 
switch to 3.0.1. Why? Because I read an article where Guido van Rossum 
himself recommended that anyone starting out learning Python now was 
wasting their time if they didn't start with Python 3. Some folks on 
this list will tell you there is not much difference and that seems to 
be true but I pleased that I made the switch.

Now for your question about an IDE. I am presuming you are just 
beginning, perhaps done some programming in another language and 
probably using a Windows based PC. Given that there are some things I 
would recommend you stay away from (this will get the juices going :-) 
): Vi, Vim, Emacs and all those old fashioned UNIX/Linux based editors - 
they are just too hard and why bother anyway, there are much more 
civilised ways of proving your manhood. Eclipse is also an over-kill. I 
would recommend any of the popular text editors; most will recognise 
Python files.

I can tell you what I use:
*EditPad+* - http://www.editplus.com/index.html - A great general 
purpose text editor that has the additional benefit of clip libraries 
(what?). This might not seem important but it is a great time saver. A 
clip library is a text file of code snippets that when you 
'double-click' the required clip the editor inserts that code at the 
current cursor position. For example the following is a clip I use for 
the heading of a short script file:

#T=Short script
^# ^!.py
^# The purpose of this script is

def main():
{code here}

main()

After the clip has been inserted the cursor is positioned where the "^!" 
string is (before ".py") waiting for the script name to be inserted. You 
just build these clips to suit yourself. TextPad is another text editor 
with the same features.

The main drawback with EditPlus is that when you run a Python script 
from within EditPlus and that script uses stdin (eg. an input() 
function) the editor can't handle it and you get an error message. I 
overcome this problem by using easygui (http://easygui.sourceforge.net/) 
dialogs for text input; a piece of cake :-) . Another drawback is that 
EditPlus is shareware and you have to pay for it (US35).

*SciTE* - http://www.scintilla.org/SciTE.html - Scite is a very good 
little editor, it does not have the "bells and whistles" that editors 
like EditPlus have but it does recognise Python files and can run them 
from within the editor. It can also handle stdin (not that elegantly, 
but it works) so you don't need the easygui work-around and its free.

*IDLE* - the built-in Python IDE. I have it configured so that the 
editor panel loads first rather than the Python prompt. Everything runs 
in IDLE!

*PyScripter* - http://code.google.com/p/pyscripter/ - From the web site: 
"PyScripter is a free and open-source Python Integrated Development 
Environment (IDE) created with the ambition to become competitive in 
functionality with commercial Windows-based IDEs available for other 
languages." This is a true IDE with most of the things you would expect. 
However, I find that it gets a bit buggy at times. It does support 
Python 3 and is free so its worth a try.

There are several other good Python editor/IDE's but they require 
wxPython and it has not yet been made available in a Python 3 compatible 
version.

I hope that helps. Give me a reply if you want any more help with any of 
these things. Easygui is something that is really worth getting to know. 
A copy of Python (Second Edition) by Toby Donaldson (ISBN 13: 
978-0-321-58544-8) is another good thing to have when you are learning.

Regards,
Peter
-- 
*Peter Anderson*
There is nothing more difficult to take in hand, more perilous to 
conduct, or more uncertain in its success, than to take the lead in the 
introduction of a new order of things—Niccolo Machiavelli, /The Prince/, 
ch. 6



More information about the Python-list mailing list