【发布时间】:2016-04-21 13:41:27
【问题描述】:
我正在为树莓派 3 运行最新的 Raspbian Jessie 映像并尝试运行一个 kivy 应用程序,但我无法修复这个错误。
[INFO ] [Logger ] Record log in /root/.kivy/logs/kivy_16-04-06_5.txt
[INFO ] [Kivy ] v1.9.1
[INFO ] [Python ] v2.7.9 (default, Mar 1 2015, 13:48:22)
[GCC 4.9.2]
[INFO ] [Factory ] 179 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
error: XDG_RUNTIME_DIR not set in the environment.
[CRITICAL] [Window ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name bcm
File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
sdl2 - RuntimeError: No available video device
File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
cls = cls()
File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 138, in __init__
super(WindowSDL, self).__init__()
File "/usr/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 722, in __init__
self.create_window()
File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 237, in create_window
self.fullscreen, resizable, state)
File "_window_sdl2.pyx", line 80, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:1810)
File "_window_sdl2.pyx", line 55, in kivy.core.window._window_sdl2._WindowSDL2Storage.die (kivy/core/window/_window_sdl2.c:1460)
x11 - ImportError: No module named window_x11
File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
【问题讨论】:
-
实际错误是sdl2无法找到视频设备。 x11 错误是由于尝试尝试另一个不存在的窗口提供程序,因为它没有被编译(但它也不应该是,所以没关系)。
-
为什么找不到视频设备?我已将它连接到 4DPI-24-HAT 触摸屏。还有 egl_rpi 错误呢?
-
egl_rpi 的东西通常只是意味着你是用 sdl2 编译的,而不是针对 rpi 特定的后端。如果您使用的是 X11,就实际运行而言,这应该无关紧要。
标签: python raspberry-pi kivy