本文介绍了交互运行pyprocessing脚本时,TypeError:super(type,obj)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Python 2.7.3:
Python 2.7.3:
创建最简单的 pyprocessing
文件,并将其另存为foo.py
:
from pyprocessing import *
def setup():
size(100,100)
def draw():
rect(10,10,10,10)
run()
现在使用python:
Now in python:
>>> execfile('foo.py')
文件按预期运行.关闭pyprocessing
窗口以返回提示并键入:
The file runs as expected. Close the pyprocessing
window to return to the prompt and type:
>>> execfile('foo.py')
您受到欢迎:
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
这是怎么回事?这是我是否错误地使用pyprocessing
的错误?
What is happening here? Is this a bug are am I using pyprocessing
wrong?
推荐答案
它作为子进程每次都会生成一个单独的进程:
This works as subprocess spawns a separate process each time:
from subprocess import call
call([sys.executable, 'foo.py'])
有关subprocess.call
的完整讨论,请参见此SO问题.
See this SO question for a fuller discussion of subprocess.call
.
这篇关于交互运行pyprocessing脚本时,TypeError:super(type,obj)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!