kivy/tkinter/matplotlib를 사용하여 Windows에서 제대로 실행되지만 osx에서 몇 가지 문제가있는 코드를 일부 상속 받았습니다. 하나의 문제가 이미 해결되었습니다 in another question. 내가 askopenfilename를 호출하지 않는 한matplotlib 및 tkinter가있는 kivy의 NSException
import tkinter
# tkinter._test()
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
import kivy.core.window
from tkinter.filedialog import askopenfilename
askopenfilename(initialdir='/', title="Open files")
나는 예외를하지 않는 : 나는 다음 실행할 때 나는 NSException
얻고있다. 이제는 "tkinter가 작동하지 않을 수도 있습니다"라고 생각했기 때문에 초기 tkinter._test()를 던져서 모든 것이 정상이라고 말했고 ... 이후 코드가 계속되면 예외가 발생하지 않고 모든 것이 실행됩니다. 벌금.
내 질문에, 일반적으로 이러한 NSExceptions의 루트와 특성은 무엇이며, tkinter._test()가 그 일을 일으켜서 발생하지 않을 수 있습니다.
그리고 원하지 않는 초기 테스트 팝업을 사용하지 않고 어떻게 복제하고 있습니까?
던져진 예외는 다음과 같습니다
2017-03-08 15:16:00.199 Python[31489:260345] -[SDLApplication _setup:]: unrecognized selector sent to instance 0x1021727f0
2017-03-08 15:16:00.203 Python[31489:260345] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDLApplication _setup:]: unrecognized selector sent to instance 0x1021727f0'
*** First throw call stack:
(
0 CoreFoundation 0x00007fffa8716e7b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffbd300cad objc_exception_throw + 48
...
53 Python 0x0000000100000c34 Python + 3124
)
libc++abi.dylib: terminating with uncaught exception of type NSException