[Python-Dev] PEP 397 and idle

David Bailey daveabailey at gmail.com
Tue Nov 1 19:20:24 CET 2011


Maybe this belongs on some blog. I don't know. I was responding to PEP 397,
seems to me that idle was left out.
I am not being critical of what you guys are doing. I love python. As a
developer, I see a problem. You are correct, I have no technical issue. I
do believe it is still a development issue that is more of a marketing
issue than a technical issue.  I am tired of ruby this and ruby on rails
that. I love python and want it to succeed. If you want to increase the
population of windows users of python, make idle easier to use or fix print
in 3.X or both. The point I was trying to make, is that to the world
outside of python-dev, idle is part of python, especially on a windows
platform. I am not trying to say that emacs should be part of gcc or
anything like that. I have taught python to a number of windows users and
the editor is the first big hurdle to using python. On linux, emacs vs vim
might be an issue but the editor is not an issue. My guess is that very few
python-dev developers use windows. I wouldn't.  It is fascinating to watch
a new python user on windows. The typical scenario is that they download
both a version of 3.X and 2.6 or 2.7 because they are not sure which is
correct. I tell them to uninstall 3.X but there is a lot of push back
because they don't want the "old stuff".

I grew up using Unix, and it is very hard to watch someone trying to use
microsoft word to write a python 'hello world'. Every book they read says
type print "hello world" into hello.py. They will try any way they know
how. Then they double click on hello.py and if they are lucky and have a
slow machine they can see a syntax error flash on their screen from a
command window that pops up and then goes away. The people with fast
machines just throw their hands in the air. Some dig deeper, and migrate to
idle. Idle generates the same syntax error but with persistence. They try
all the different combinations of quotes, because that seems to be the
indicated syntax error. Then they start asking about Ruby.

So we install PEP 397 and change the hello.py to

#!/usr/bin/env python2
print "hello world"


#!/usr/bin/env python3
print ("hello world")

It now executes correctly when they double click and the command window
stays open. Python works and everyone is happy, but idle is broken and
continues to generate a syntax error. At this point they don't have warm
fuzzy feelings about python. These people were thinking that they were
going to use python in their job, but now it is too scary. They don't
understand how python works but idle does not.

It is truly unfortunate that print breaks between versions of python. The
uninitiated do not expect that. So once I get to the point of saying " ok
now lets first create .bat files to start different versions of idle, their
eyes start to glaze over. An then when I say " OK now lets put copies of
these .bat files in all the python folders on the desktop" they start
looking out the real windows. What once took 5 min in a training now takes
the whole hour if someone has loaded two versions, and the whole class is
lost to VB or something worse.

Idle needs to be smart so it runs the correct version of python, or
generate a print deprecated message or something that gives a new user a
clue. This is more of a marketing issue than a technical issue. You can
develop the greatest new version of python but if a new python user can't
get past the first page of the python book they bought, they will not
bother to go to page two and the greatest new version that you guys develop
is lost all because of a single keyword print that has no technical issues.

Dave Bailey

On Tue, Nov 1, 2011 at 6:25 AM, Amaury Forgeot d'Arc <amauryfa at gmail.com>wrote:

> Hi,
> 2011/11/1 David Bailey <daveabailey at gmail.com>
>> python-dev
>> I am being forced to support multiple versions of python on Windows
>> platforms. I have been using PEP 397 and the execution of *.py files works
>> great. Thank you!!
>> My problem is idle. The various versions of idle have the same problem as
>> the various versions of python. We were using an editor that allowed python
>> selection, however, they stopped supporting python and we are back using
>> idle. Any suggestions on switching versions of idle would be appreciated.
> The python-dev mailing list is for the development *of* python.
> For development *with* python, please ask your question on the python-list
> mailing list, or the comp.lang.python newsgroup.
> There are many friendly people there ready to answer your questions.
> Thank you!
> --
> Amaury Forgeot d'Arc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20111101/21d09f61/attachment.html>

More information about the Python-Dev mailing list