gpt4 book ai didi

python - 如何让 Kivy 1.9.1 或 1.9.2 在 OSX 10.12.2 上使用 SDL2 而不是 pygame?

转载 作者:太空狗 更新时间:2023-10-30 00:05:30 26 4
gpt4 key购买 nike

试图让 Kivy 在 OSX 10.12.2 上使用 SDL2 而不是 pygame,在 brew 安装的 python 2.7.13 下。我已经运行以下命令来安装依赖项。它们似乎安装良好,因为“brew doctor”返回干净。

brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip install -I Cython==0.23

然后我尝试了 1.9.2-dev0 和 1.9.1 版本的 Kivy,从源代码编译,并尝试使用 SDL。我也尝试过 pip install kivy,而不是 repo 中的最新代码,这些尝试都没有让 Kivy 识别 SDL2。

git clone http://github.com/kivy/kivy
cd kivy
USE_SDL2=1 make force
USE_OSX_FRAMEWORKS=0 sudo pip install -e kivy

bash-3.2$ KIVY_WINDOW=sdl2 KIVY_IMAGE=sdl2 KIVY_CLIPBOARD=sdl2 KIVY_TEXT=sdl2 python main.py
[INFO ] [Logger ] Record log in /Users/dancaron/.kivy/logs/kivy_17-01-23_107.txt
[INFO ] [Kivy ] v1.9.2-dev0
[INFO ] [Python ] v2.7.13 (default, Jan 23 2017, 19:04:34)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]
[INFO ] [Factory ] 193 symbols loaded
[INFO ] [Image ] Providers: (img_imageio, img_tex, img_dds, img_pygame, img_ffpyplayer, img_pil, img_gif ignored)
[CRITICAL] [App ] Unable to get any Image provider, abort.

如何让 Kivy 使用 SDL2?

最佳答案

我能够使用以下过程让 SDL2 在 OSX 10.12.2 上与 Kivy 1.9.2 一起工作。这假设 brew 安装了 python 2.7,并且 brew 安装了 SDL2。

1) 下载Kivy源码(进入/usr/local/lib/python2.7/site-packages目录)

git clone https://github.com/kivy/kivy
cd kivy

2) 设置环境变量来告诉 Kivy 在哪里可以找到酿造的 SDL2 库,而不是使用 OSX 框架路径,并实际使用 SDL2,并构建 Kivy。

KIVY_SDL2_PATH=/usr/local/lib USE_OSX_FRAMEWORKS=0 USE_SDL2=1 make force

现在,运行您的主脚本,您应该看到窗口提供程序是 SDL2。

bash-3.2$ python main.py
[WARNING] [Config ] Older configuration version detected (14 instead of 17)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Kivy ] v1.9.2-dev0
[INFO ] [Python ] v2.7.13 (default, Jan 23 2017, 19:04:34)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]
[INFO ] [Factory ] 193 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_imageio, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Window ] Provider: sdl2

在 pygame 上使用 SDL2 提供视网膜支持,并修复了窗口调整大小时黑屏等问题。

关于python - 如何让 Kivy 1.9.1 或 1.9.2 在 OSX 10.12.2 上使用 SDL2 而不是 pygame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com