[Edu-sig] The fate of vpython

Dethe Elza delza at livingcode.org
Tue Oct 10 18:26:42 CEST 2006


Dave wrote:

>> Just curious, is PyOpenGL easy to install for both Mac and  
>> Windows? I know
>> it's dead simple on most Linux distributions. I think it's pretty  
>> easy for
>> Windows, but have no experience at all on the Mac.
>
> Someone has made binaries for it (and a number of other Python add- 
> ons) at:
>
> http://pythonmac.org/packages/py24-fat/index.html

Which makes it as easy to install on OS X as on Windows.  Building it  
from source can be troublesome, but is far more tractable in my  
experience than VPython.

Art wrote:

> Assuming that PyOpenGL *is* easy to install, we come back to the same
> question - an OpenGL windowing context, be it pygame, be it wxWindows,
> be it togl, be it gtkgl, be it whatever one does on Mac.  PyOpenGL
> provides the functionality, given a windowing context, not the  
> windowing
> context.

One problem with VPython is that it lives in a world all its own,  
unlike most Python libraries.  PyOpenGL provides contexts for PyGame,  
for wx, and others (don't remember the whole list off-hand). If  
VPython (or VPython-lite) were built on PyOpenGL it would inherit all  
of these abilities.

> And since much of the cross-platform complexity of vpython is on the
> windowing context issue, I see that solving that issue for vpython  
> is a
> more direct approach to solving the problem. But again, to me vpython
> begins to lose its charm if we have to assume wxPython installed, or
> pygame installed, or Panda3d installed.

Well, there's assuming and there's assuring.  A binary installer for  
VPython could simply make sure the necessary dependencies are  
installed.  A setuptools-based build chain could do the same.

> Togl across platforms???

The last time someone (Joe Heafner) tried to tackle this on the  
VPython list, Bruce Sherwood replied:

> The fundamental issue has been discussed previously. Someone with Mac
> experience needs to write a small module to create a window and handle
> mouse and keyboard interactions. We have such modules for Windows and
> for Linux/Unix (alas, OpenGL doesn't provide this functionality).  
> In the
> absence of this native-mode window/interaction module, we have to limp
> along using the Unix version, which means using X11.

Since that is exactly what GLUT provides, and GLUT is available for  
every port of OpenGL that I'm aware of, I don't even know where to  
begin with such a comment.

The other issue with VPython portability is threading.  Instead of  
using Posix threads on Linux (which would *just work* on OS X), they  
pull in the gnome libraries for threading, adding an unneccesary  
dependency (in my opinion).  GLUT alone doesn't really help with  
that, but it could be a (huge) step in the right direction.

--Dethe

"Why is Virtual Reality always posited in terms of space, when time  
is the only real commodity left?" --Rich Gold




More information about the Edu-sig mailing list