It is a Mac issue in that the cocoa backend for pyglet is not currently Python 3 compatible. The code we're talking about isn't run on Windows.
--phillip On Sep 14, 2012, at 1:31 PM, Haluk Noyan Tokgozoglu <[email protected]> wrote: > But the same code works on Windows, so I assume this is a Mac issue > and not a Py3k issue. > > Haluk Noyan Tokgozoglu > > Johns Hopkins University > Computer Science PhD Candidate > Computational Interaction and Robotics Laboratory > Secretary of the GRO > Treasurer of UPE > > > On Fri, Sep 14, 2012 at 2:28 PM, Phillip Nguyen <[email protected]> > wrote: >> >> In the line >> >> return c_void_p(objc.objc_getClass(name)) >> >> objc_getClass is expecting that name is a string that ctypes can convert to >> a char *. However in Python 3, all strings are unicode so name needs to be >> converted to a different format before ctypes can use it. Something like >> name.encode('ascii') would work. >> >> I've not done any testing with Python 3 so I imagine that the cocoa backend >> has other issues with Python 3 besides just this. >> >> --phillip >> >> >> On Sep 14, 2012, at 12:55 PM, Noyan Tokgozoglu <[email protected]> >> wrote: >> >> I would also like to contribute. Using Python 3.2.3 on Mountain Lion with >> pyglet 1.2alpha1, I get the following error when I try to import gl from >> pyglet.gl: >> >> Traceback (most recent call last): >> File "main.py", line 3, in <module> >> from pyglet.gl import gl >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/gl/__init__.py", >> line 220, in <module> >> from .cocoa import CocoaConfig as Config >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/gl/cocoa.py", >> line 15, in <module> >> from pyglet.canvas.cocoa import CocoaCanvas >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/canvas/__init__.py", >> line 90, in <module> >> from pyglet.canvas.cocoa import CocoaDisplay as Display >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/canvas/cocoa.py", >> line 15, in <module> >> from pyglet.libs.darwin.cocoapy import * >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/__init__.py", >> line 6, in <module> >> from .cocoapy import * >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/__init__.py", >> line 32, in <module> >> from .runtime import objc, send_message, send_super >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/runtime.py", >> line 1149, in <module> >> class DeallocationObserver_Implementation(object): >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/runtime.py", >> line 1150, in DeallocationObserver_Implementation >> DeallocationObserver = ObjCSubclass('NSObject', 'DeallocationObserver', >> register=False) >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/runtime.py", >> line 1050, in __init__ >> self.objc_cls = create_subclass(superclass, name) >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/runtime.py", >> line 603, in create_subclass >> superclass = get_class(superclass) >> File >> "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pyglet/libs/darwin/cocoapy/runtime.py", >> line 402, in get_class >> return c_void_p(objc.objc_getClass(name)) >> ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type >> >> On Wednesday, September 5, 2012 12:13:03 AM UTC-4, Nathan wrote: >>>> >>>> On Mon, Jul 30, 2012 at 10:57 AM, Tristam MacDonald >>>>> The fact that our Cocoa event loop ever worked at all strikes me as a >>>>> bit of >>>>> a miracle. It was always a mashup of invisible/private APIs. >>>>> >>>>> I'll see if I can do some triage on it this week. >>> >>> >>> Okay, I just upgraded to Mountain Lion on my main machine today and >>> discovered that this still apparently hasn't been addressed. :-( >>> >>> How can I help? I know next to nothing about Cocoa, other than basic >>> syntax and having run through a couple tutorials, but if there's anything I >>> can do to help get pyglet working on Mountain Lion sooner rather than later, >>> please let me know. >>> >>> I would be happy to help debug or test or research or whatever. >>> >>> ~ Nathan >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "pyglet-users" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/pyglet-users/-/qGl1lOxmZ0gJ. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/pyglet-users?hl=en. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "pyglet-users" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/pyglet-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "pyglet-users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/pyglet-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en.
