在centos 7上运行带有SDL2的Kivy1.9.1

2024-04-25 13:08:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让kivy在centos 7上使用SDL2,但是当我运行主.py我收到以下信息:

[INFO   ] [Logger      ] Record log in /home/etienne/.kivy/logs/kivy_16-01-14_51.txt
[INFO   ] [Kivy        ] v1.9.1
[INFO   ] [Python      ] v2.7.5 (default, Nov 20 2015, 02:00:19) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
[INFO   ] [Factory     ] 179 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_pil (img_pygame, img_ffpyplayer ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name bcm
  File "/home/etienne/Demo/Test/test_virtualenv/lib/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/etienne/Demo/Test/test_virtualenv/lib/python2.7/site-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

pygame - ImportError: No module named pygame
  File "/home/etienne/Demo/Test/test_virtualenv/lib/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/etienne/Demo/Test/test_virtualenv/lib/python2.7/site-packages/kivy/core/window/window_pygame.py", line 8, in <module>
    import pygame

x11 - ImportError: No module named window_x11
  File "/home/etienne/Demo/Test/test_virtualenv/lib/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[INFO   ] [Text        ] Provider: pil(['text_pygame'] ignored)
[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception SystemExit: 1 in 'kivy.properties.dpi2px' ignored
[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception SystemExit: 1 in 'kivy.properties.dpi2px' ignored
[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception SystemExit: 1 in 'kivy.properties.dpi2px' ignored
[CRITICAL] [App         ] Unable to get a Window, abort.

我安装了以下库:

^{pr2}$

我用同样的方法主.py在Fedora 20上,如果我安装pygame也可以,但他太重了,所以我想使用SDL2。
如果你知道如何让它工作;)


Tags: toinpycoreinfohomeimglib
2条回答

因为您自己在虚拟环境中安装了kivy,所以它是在安装时编译的。Kivy在编译时检测可用的库。如果在那之后安装了SDL2 libs,kivy将不会立即获得SDL2支持。你应该用

pip install  upgrade  force-reinstall kivy

您可能会注意到,在安装SDL2 lib时,它在控制台输出的开始处被正确地检测到。之后,当您运行应用程序时,您应该会看到SDL2提供程序可用:

^{pr2}$

有同样的问题-这是我最后的一句台词

python3.5 -m pip install kivy  no-use-wheel

这迫使pip编译kivy并找到sdl2。。。在

相关问题 更多 >