【问题标题】:Kivy on raspberry pi 3 error: No module named window x11树莓派 3 上的 Kivy 错误:没有名为 window x11 的模块
【发布时间】: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


【解决方案1】:

我花了大约 2 个小时尝试不同的东西,但最终我发现它需要一个依赖项,但由于某种原因,它没有安装或列出为必需的:pygame。只需运行pip3 install pygame。然后尝试再次运行您的代码,它应该会神奇地工作。这对我的 MacBook Pro 上的 Lubuntu 18.04 VM 有效。

【讨论】:

    猜你喜欢
    • 2022-01-27
    • 2021-09-28
    • 2015-09-15
    • 1970-01-01
    • 2015-11-17
    • 2018-07-08
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多