我正在研究显示动画的python程序,因此我在使用pyglet。到目前为止,我一直在使用Psychopy随附的python编译器,但现在我需要使该程序尽可能独立。
我已经在Windows机器上完成了此任务,在OSX的情况下,为了安装pyglet,我遵循了this post。但是,当我现在运行程序时,它返回以下内容:
>>>> python 140603_plaid8.py
2014-06-17 12:25:02.512 Python[1713:d07] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/fk/1plt8wj53_d183pv59scmg4m0000gn/T/org.python.python.savedState
no input received
CONFIG FILE LOADED
TRIALS FILE LOADED
2014-06-17 12:25:02.661 Python[1713:d07] -[NSApplication _setup:]: unrecognized selector sent to instance 0x102d3b5c0
2014-06-17 12:25:02.662 Python[1713:d07] An uncaught exception was raised
2014-06-17 12:25:02.663 Python[1713:d07] -[NSApplication _setup:]: unrecognized selector sent to instance 0x102d3b5c0
2014-06-17 12:25:02.663 Python[1713:d07] (
0 CoreFoundation 0x00007fff8948f25c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff87f16e75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8949212d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00007fff893ed322 ___forwarding___ + 1010
4 CoreFoundation 0x00007fff893ecea8 _CF_forwarding_prep_0 + 120
5 Tk 0x0000000108253ed6 TkpInit + 459
6 Tk 0x00000001081d1b0f Tk_Init + 1687
7 _tkinter.so 0x00000001080b4c0d Tcl_AppInit + 77
8 _tkinter.so 0x00000001080b3657 Tkinter_Create + 919
9 Python 0x00000001000c2fad PyEval_EvalFrameEx + 21405
10 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
11 Python 0x000000010003eac0 function_call + 176
12 Python 0x000000010000ceb2 PyObject_Call + 98
13 Python 0x000000010001f56d instancemethod_call + 365
14 Python 0x000000010000ceb2 PyObject_Call + 98
15 Python 0x00000001000bc957 PyEval_CallObjectWithKeywords + 87
16 Python 0x000000010002285e PyInstance_New + 126
17 Python 0x000000010000ceb2 PyObject_Call + 98
18 Python 0x00000001000c0c60 PyEval_EvalFrameEx + 12368
19 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
20 Python 0x000000010003eac0 function_call + 176
21 Python 0x000000010000ceb2 PyObject_Call + 98
22 Python 0x000000010001f56d instancemethod_call + 365
23 Python 0x000000010000ceb2 PyObject_Call + 98
24 Python 0x00000001000bc957 PyEval_CallObjectWithKeywords + 87
25 Python 0x000000010002285e PyInstance_New + 126
26 Python 0x000000010000ceb2 PyObject_Call + 98
27 Python 0x00000001000c0c60 PyEval_EvalFrameEx + 12368
28 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
29 Python 0x00000001000c50d6 PyEval_EvalCode + 54
30 Python 0x00000001000e995e PyRun_FileExFlags + 174
31 Python 0x00000001000e9bfa PyRun_SimpleFileExFlags + 458
32 Python 0x0000000100100c0d Py_Main + 3101
33 Python 0x0000000100000f14 Python + 3860
34 ??? 0x0000000000000002 0x0 + 2
)
2014-06-17 12:25:02.664 Python[1713:d07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSApplication _setup:]: unrecognized selector sent to instance 0x102d3b5c0'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff8948f25c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff87f16e75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8949212d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00007fff893ed322 ___forwarding___ + 1010
4 CoreFoundation 0x00007fff893ecea8 _CF_forwarding_prep_0 + 120
5 Tk 0x0000000108253ed6 TkpInit + 459
6 Tk 0x00000001081d1b0f Tk_Init + 1687
7 _tkinter.so 0x00000001080b4c0d Tcl_AppInit + 77
8 _tkinter.so 0x00000001080b3657 Tkinter_Create + 919
9 Python 0x00000001000c2fad PyEval_EvalFrameEx + 21405
10 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
11 Python 0x000000010003eac0 function_call + 176
12 Python 0x000000010000ceb2 PyObject_Call + 98
13 Python 0x000000010001f56d instancemethod_call + 365
14 Python 0x000000010000ceb2 PyObject_Call + 98
15 Python 0x00000001000bc957 PyEval_CallObjectWithKeywords + 87
16 Python 0x000000010002285e PyInstance_New + 126
17 Python 0x000000010000ceb2 PyObject_Call + 98
18 Python 0x00000001000c0c60 PyEval_EvalFrameEx + 12368
19 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
20 Python 0x000000010003eac0 function_call + 176
21 Python 0x000000010000ceb2 PyObject_Call + 98
22 Python 0x000000010001f56d instancemethod_call + 365
23 Python 0x000000010000ceb2 PyObject_Call + 98
24 Python 0x00000001000bc957 PyEval_CallObjectWithKeywords + 87
25 Python 0x000000010002285e PyInstance_New + 126
26 Python 0x000000010000ceb2 PyObject_Call + 98
27 Python 0x00000001000c0c60 PyEval_EvalFrameEx + 12368
28 Python 0x00000001000c4fb3 PyEval_EvalCodeEx + 2115
29 Python 0x00000001000c50d6 PyEval_EvalCode + 54
30 Python 0x00000001000e995e PyRun_FileExFlags + 174
31 Python 0x00000001000e9bfa PyRun_SimpleFileExFlags + 458
32 Python 0x0000000100100c0d Py_Main + 3101
33 Python 0x0000000100000f14 Python + 3860
34 ??? 0x0000000000000002 0x0 + 2
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
我不明白此错误的含义,任何人都可以帮助我了解我做错了什么吗?
在这种情况下,错误消息不会告诉我们太多信息。您需要做的(通常是在调试中)是找出成功和失败的原因,以缩小问题的范围。
以仅导入pyglet的脚本开始。如果可行,则导入pyglet并打开一个窗口,等等...
如果知道哪一行会导致错误发生,请进行报告。
Jon
我已经找到出现此错误的原因。这是因为我使用库TKinter,如果我注释掉使用TKinter的行,则不会出现此错误,并且它将继续执行程序。
当我发现在OSX中使用TKinter的正确方法时,我将编辑此答案。但是我首先要关注的是pyglet动画,该动画在OSX中不起作用,但在Windows中却有效。