在 Kivy 中使用 sdl2 而不是 pygame
Posted
技术标签:
【中文标题】在 Kivy 中使用 sdl2 而不是 pygame【英文标题】:using sdl2 in Kivy instead of pygame 【发布时间】:2017-01-04 04:55:20 【问题描述】:我无法在使用 Kivy 制作的应用程序上调整窗口大小,所以我发现使用 sdl2 而不是 Pygame,Kivy 可以解决这个问题。我卸载了 Kivy 和 Pygame,然后安装了 sdl2,然后重新安装了 Kivy。尽管如此,Kivy 仍然在尝试使用 pygame。请帮忙。
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/kivy/core/window/window_pygame.py", line 8, in <module>
import pygame
【问题讨论】:
【参考方案1】:解决此问题的最简单方法是清除当前的 kivy 安装并使用以下链接作为参考点重新安装(这些是官方安装说明)
https://kivy.org/docs/installation/installation-windows.html
话虽如此,请注意以下几点,对于一些编译器 1.9.2 无法在带有 python 3.5 的 Windows 上运行的问题,这是 kivy 团队意识到并正在解决的一个持续问题。
所以这意味着您可以在 Windows 上使用 python 3.4 来获取最新版本的 kivy。 Kivy 不再使用 pygame,默认情况下会提示您安装 sdl2。
您对我提供的链接中的官方说明可能遇到的唯一问题是设置 GStreamer,如果它给您带来问题,您可以跳过该问题并获取一个足够的移植版本。
如果您使用的是 Linux,那么只需重新安装 :)
【讨论】:
问题中的错误信息显示 Bill 使用的是 MacOS。 不,它没有。随意解释为什么你认为它会。 嗨。我相信/Library/Frameworks/...
是标准的MacOS 文件夹命名。这当然不是明确的或保证的,但我认为这 暗示 OP 正在使用 Mac。它肯定不像 Windows 路径(例如 C:\...
)。
它可以很容易地成为一个 Linux 路径,它并不意味着或暗示 Mac OS 哈哈【参考方案2】:
我在我的新 Mac (Sierra) 上遇到了同样的问题。我遵循了https://github.com/kivy/kivy/issues/4688的建议
并使用命令安装最新版本的 KivyUSE_OSX_FRAMEWORKS=0 pip install https://github.com/kivy/kivy/zipball/master
这对我有用,Kivy 现在正在使用 SDL2 而不是在寻找 pygame。 (我也在Kivy support for SDL2 in Virtualenv回答了这个问题)
【讨论】:
以上是关于在 Kivy 中使用 sdl2 而不是 pygame的主要内容,如果未能解决你的问题,请参考以下文章
在 centos 7 上使用 SDL2 运行 kivy 1.9.1
Kivy 1.9.0 Windows 包 KeyError: 'rthooks'
如何从我的 kivy 程序中删除“sdl2 - ImportError”和“pil - ModuleNotFoundError”