[Edu-sig] In praise of VPython

David Scherer dscherer@vysics.com
Fri, 2 Mar 2001 12:51:58 -0500


> I have both 2.0 and 2.1a2 on my G: drive.  VPython insists on putting
> all its files on C:, maybe because 2.1 has the last word in some
> registry entry -- probably why I can't get Python 2.0's IDLE to boot,
> even though I can boot the ActivePython Pythonwin interface.

Maybe Tcl/Tk isn't working?

> Once I move all the VPython stuff to G:\Python20, by zipping down and
> unzipping in the correct directory, I still can't get its version
> of IDLE to boot (again, likely for registry reasons -- 2.1 has to
> be my final install).

If the ordinary Python 2.0 IDLE isn't working, it's not too surprising that
the VPython version doesn't work either.  You should try running it from a
command prompt and post the error messages to visualpython-users or
idle-dev.

> A question about VPython -- can I use it independently of its version
> of IDLE?  Like in Pythonwin or the indigenous IDLE?  How about from
> ye old MSDOS box?

It will work fine with command-line Python.  Most existing Python IDEs
except for the VPython IDLE execute the user program in their own process,
which makes VPython programming more difficult (though it remains possible
if you are very careful).  For example, the preferred way to do simple
animations in VPython is something like:

from visual import *
ball = sphere()
while 1:
  rate(100)
  ball.x = ball.x + 0.01

This sort of infinite loop will give some IDEs problems in and of itself.
Worse, visual will attempt to terminate the program forcefully when you
close the graphics window, which will terminate your IDE!  The workaround
is:

from visual import *
scene.exit = 0   # disable automatic exit behavior
ball = sphere()
while scene.visible:
  rate(100)
  ball.x = ball.x + 0.01

which isn't so bad.  But if you screw up you will terminate your IDE and
perhaps lose work.

> Anyway, it looks to me like the Windows registry structure and/or
> Python Windows install process is too awkward to permit Python 2.0
> and Python 2.1 to co-exist peacefully enough for add-ons like VPython
> to work.  So I either blow away the 2.1a2 or sit tight and wait for
> the add-ons to migrate up the development curve.  Or...?  Maybe
> someone out there as both Pythons and VPython all working on the
> same Wintel box?

The add-ons will migrate up the development curve fastest if people with
problems attempt to diagnose them in detail and report them :)

Thanks,

Dave

p.s. Bruce: Can you say exactly what registry keys are used by the installer
to locate Python?  Do we prompt for an installation path if the correct keys
are not found?