Okay, i found the answer, it turns out that a load of python 2.x code had made it through, things like
print 'string'
and badly defined imports such as
from base import (loads of modules here)
where it should have been
from pyglet.gl.base import (aforementioned modules)
there have been a whole load of these problems, and as such i have given up for now (due to some number followed by an L (I have no experience with python 2.x so i have no idea what the 3.x equivalent is))