【发布时间】:2017-03-08 12:38:13
【问题描述】:
我正在编写一些在 Windows 10 上运行良好的 kivy 代码,但在 osx sierra 上崩溃,我已经隔离了当我在 matplotlib 旁边导入 kivy.core.window 时发生崩溃:
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
import kivy.core.window
如果没有matplotlib.use("TkAgg"),它也会崩溃。这只是为了表明问题没有像其他问题所暗示的那样被解决。
异常的输出是:
2017-03-08 13:33:32.461 Python[28614:209475] -[SDLApplication _setup:]: unrecognized selector sent to instance 0x1020ea6c0
2017-03-08 13:33:32.464 Python[28614:209475] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDLApplication _setup:]: unrecognized selector sent to instance 0x1020ea6c0'
*** First throw call stack:
(
0 CoreFoundation 0x00007fffa8716e7b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffbd300cad objc_exception_throw + 48
...
)
libc++abi.dylib: terminating with uncaught exception of type NSException
什么可能导致这种情况,我从哪里开始寻找调试这种类型的异常呢?
解决此问题后,我遇到了一个可能相关的问题,在 this question 中注明。
【问题讨论】:
-
这看起来可能是 kivy 和 SDL 对彼此不满意。你是如何安装所有的零碎的?
-
老实说,我不记得安装过程的确切细节,但 Matplotlib 是在很久以前安装的,后来用 pip 更新了。 Kivy 是使用自制软件安装的:link.
-
您可以尝试他们的开发版本或将 matplot 安装到他们提供的捆绑虚拟环境中。我看不出自制说明如何保证您获得兼容版本的 SDL
-
您能详细描述一下您的建议吗? homebrew/pip 安装是网站上推荐的方法,为什么你怀疑它不起作用?
-
如果先导入kivy会怎样?
标签: python matplotlib kivy