Python3, GUIs, game APIs, PyGLet, 2to3...?

John Ladasky john_ladasky at sbcglobal.net
Thu Jul 25 01:26:45 EDT 2013


I am teaching Python 3 to a few beginning computer programming students.  Being high-school age boys, they are, unsurprisingly, interested in games.  I want to introduce them to real-time programming and GUI in the most painless way possible.

I know that Python comes bundled with Tkinter.  Aside from the fact that I dislike its look and feel, Tkinter is not a beginners' GUI tool.  You have to write a fair amount of boiler-plate code, and you have to understand classes pretty well.  My students are not at the OOP level yet.  Yet Python's turtle package, which is built on Tkinter, manages to avoid a lot of that complexity, at least at first.  I am looking for a tool which gives my students the simplicity of turtle, but which works with 2D raster graphics.  And, it must work on Py3.

Deep in the middle of another thread, I had PyGLet recommended to me.  So I tried to get PyGLet working on Python 3, which it supposedly will do.  It installs on Py3, but importing pyglet fails.  The test program also fails.  The tracebacks were showing me that the package code is full of Python 2.x print statements.  I started fixing them manually and, after a while, gave up.

https://groups.google.com/d/msg/comp.lang.python/J64gfFg3ZKw/hH-lXurR70EJ

There may be other Py3-incompatible code in the PyGLet package that I haven't encountered yet.  Thus I have looked at the Python docs for the "2to3" utility.  2to3 probably does what I want, except for one thing: recursive operations on subfolders.  Do I really have to manually traverse the directory tree of the package, modify one folder's worth of .py files, and then repeat ad nauseam?  Yes, I could write a script to do that -- but shouldn't that functionality be built into 2to3?

Any advice that you folks might offer -- either about getting 2to3 to execute recursively, or about installing any GUI with a shallow learning curve installed on Py3, would be appreciated.  Thanks.



More information about the Python-list mailing list