New installers for Mac VPython 5.73 for 32-bit Python 2.7 and 3.2 are
available at vpython.org. There isn't yet a new tarball for VPython
5.73 for Linux.
As many of you know, the Mac version of VPython is built on the Carbon
framework, which is no longer maintained by Apple and will not work
with 64-bit applications. The supported framework is Cocoa, but
efforts by David Scherer and me in 2008 were unsuccessful in using
Cocoa, due to seemingly unsolvable threading problems.
At the moment, both 32-bit and 64-bit versions of Python are available
from python.org, but presumably at some point only 64-bit versions of
Python will be available, at which point the only way to create and
use VPython on a Mac will be to use the X11 window manager, as is done
in the Fink distribution (see below), unless someone figures out how
to base VPython on Cocoa.
One possibility is the following: Suppose that on the Mac it were
obligatory to have a rate or similar statement in an animation loop,
so that instead of depending on having a rendering thread interrupt
the loop 30 times a second or so, you would explicitly state when the
render program could run. This would simplify the threading issues and
might make it possible to base a Mac version of VPython on Cocoa.
Two things encourage me to think that this might be a feasible
solution. One is that I only recently became aware of the fact that on
the Mac animation loops without rate statements run quite erratically.
This suggests that in the vast majority of cases people already put
rate statements in their animation loops. The second is that in
GlowScript (glowscript.org), with syntax similar to VPython but based
on JavaScript instead of Python, rate statements are obligatory due to
the fact that an infinite loop in JavaScript causes the browser to
freeze up. This requirement in GlowScript has not turned out to be
particularly onerous.
Bruce Sherwood
P.S. From the Mac download page at vpython.org:
At http://www.finkproject.org you will find many open source packages
for the Mac, including
http://pdb.finkproject.org/pdb/package.php/visual-py27 which is a Fink
package corresponding to VPython 5.40. Fink packages use the X11
window manager and are Unix-oriented, so the look and feel is
different from native Mac applications.
|