TypeError: super(type, obj) when running pyprocessing script interactively
Question: Python 2.7.3:

Create the simplest possible
[`pyprocessing`](http://code.google.com/p/pyprocessing/) file and save it as
`foo.py`:

    
    
    from pyprocessing import *
    
    def setup():
        size(100,100)
    
    def draw():
        rect(10,10,10,10)
    
    run()
    

Now in python:

    
    
    >>> execfile('foo.py')
    

The file runs as expected. Close the `pyprocessing` window to return to the
prompt and type:

    
    
    >>> execfile('foo.py')
    

and you're greeted with:

    
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "foo.py", line 9, in <module>
        run()
      File "/usr/local/lib/python2.7/dist-packages/pyprocessing-0.1.3.22-py2.7.egg/pyprocessing/__init__.py", line 417, in run
        __main__.setup()
      File "foo.py", line 4, in setup
        size(100,100)
      File "/usr/local/lib/python2.7/dist-packages/pyprocessing-0.1.3.22-py2.7.egg/pyprocessing/__init__.py", line 335, in size
        config=canvas.config, caption=caption, visible = isVisible)
      File "/usr/local/lib/python2.7/dist-packages/pyprocessing-0.1.3.22-py2.7.egg/pyprocessing/flippolicy.py", line 142, in __init__
        super(BackupWindow, self).__init__(*args, **keyargs)
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/window/xlib/__init__.py", line 474, in __init__
        super(XlibWindow, self).__init__(*args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/window/__init__.py", line 690, in __init__
        self.set_visible(True)
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/window/xlib/__init__.py", line 878, in set_visible
        self._map()
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/window/xlib/__init__.py", line 710, in _map
        self.dispatch_event('on_resize', self._width, self._height)
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/window/__init__.py", line 1219, in dispatch_event
        EventDispatcher.dispatch_event(self, *args)
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/event.py", line 352, in dispatch_event
        event_type, args, getattr(self, event_type))
      File "/usr/local/lib/python2.7/dist-packages/pyglet-1.1.4-py2.7.egg/pyglet/event.py", line 349, in dispatch_event
        return getattr(self, event_type)(*args)
      File "/usr/local/lib/python2.7/dist-packages/pyprocessing-0.1.3.22-py2.7.egg/pyprocessing/flippolicy.py", line 168, in on_resize
        super (FBOWindow, self).on_resize(w,h)
    TypeError: super(type, obj): obj must be an instance or subtype of type
    

What is happening here? Is this a bug are am I using `pyprocessing` wrong?


Answer: This works as
[subprocess](https://docs.python.org/2/library/subprocess.html#subprocess.call)
spawns a separate process each time:

    
    
    from subprocess import call 
    call([sys.executable, 'foo.py'])
    

See [this SO question](http://stackoverflow.com/questions/1196074/starting-a-
background-process-in-python) for a fuller discussion of `subprocess.call`.

