2014-06-18 38 views
1

我正在一個顯示動畫的python程序,因此我正在使用pyglet。到目前爲止,我一直在使用Psychopy附帶的python編譯器,但現在我需要儘可能使這個程序儘可能獨立。中止陷阱:6運行python腳本時

我已經用Windows機器完成了這個任務,在OSX的情況下,我已經按照this post來安裝pyglet。然而,當我現在運行程序,它返回:

>>>> 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 

我不明白這是什麼錯誤意味着,任何人都可以幫助我瞭解我做了什麼錯?

+0

我發現了此錯誤出現的原因。這是因爲我使用庫TKinter,如果我註釋掉我使用TKinter的行,這個錯誤不會出現。 但是,我預期和在Windows上工作的動畫並未出現,它只出現一個黑色的窗口。 –

+1

我認爲用這個信息更新主要問題並關閉這個問題會很好。然後人們知道如果碰到它,該怎麼辦。關於動畫無法正常工作,您可以特別發佈一個新問題,當然會發佈一個複製錯誤的短代碼(適用於Windows,但不適用於Mac)。 –

回答

1

在這種情況下,錯誤信息並沒有告訴我們很多。你需要做的事情(通常在調試中)是找出成功的和失敗的,以便縮小問題的範圍。

從剛剛導入pyglet的腳本開始。如果這樣做,然後導入pyglet並打開一個窗口等...

當您知道哪條線導致錯誤發生時報告回來。

Jon

+0

感謝您的答案。我終於找到了這個錯誤出現的原因。這是因爲我使用TKinter,當我註釋掉使用這個庫的行時,錯誤不會出現。但是,我預計並在Windows上工作的動畫不會顯示。 因此,我會按照你的意見,並開始一個簡單的腳本。 –

0

我發現了此錯誤出現的原因。這是因爲我使用庫TKinter,如果我註釋掉我使用TKinter的行,這個錯誤不會出現,它會繼續執行程序。

我會編輯這個答案,當我發現哪些是在OSX中使用TKinter的正確方法。但我首要關心的是pyglet動畫,它在OSX中不起作用,但它在Windows中有效。

+1

你還沒有通過使用「pyglet動畫」告訴我們你的意思,也沒有告訴我們「不工作」的方式。我們無法幫你處理這麼一點細節。代碼和/或錯誤信息是必不可少的獲得任何有用的答案 – Jon

+0

@Jon,我發佈了[另一個問題](http://stackoverflow.com/questions/24324985/pyglet-script-works-in-windows-but-not -in-osx)關於動畫,感謝您的反饋。 –

+1

你有沒有試過改變你的matplotlib支持TkAgg? matplotlib.use( 'TkAgg') –