【问题标题】:Multiplatform development using Kivy/Python: Module pygame snag使用 Kivy/Python 进行多平台开发:模块 pygame snag
【发布时间】:2023-03-18 10:18:01
【问题描述】:

Cordova 的竞争对手的概念让我很着迷——基于 Python 的竞争对手。

我在 MacPorts 下检查 Kivy 是否可用:

> port list | grep kivy
py-kivy                        @1.9.1          python/py-kivy
py26-kivy                      @1.9.1          python/py-kivy
py27-kivy                      @1.9.1          python/py-kivy
py35-kivy                      @1.9.1          python/py-kivy

我选择一个:

sudo port install py27-kivy

我指向其中一个演示:

cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/kivy-examples/tutorials/pong

最后:

python main.py

失败了:

...
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
pygame - ImportError: No module named pygame
...

我应该安装 pygame

  1. 通过访问 pygame 的网站:http://www.pygame.org/download.shtml
  2. 通过 MacPorts,或
  3. 通过 pip(和 virtualenv)

?

我可以安装的最新版本确实是“1.9.1 软件包(2009 年 8 月 6 日)”吗?

【问题讨论】:

    标签: python pygame kivy multiplatform


    【解决方案1】:

    不,不要安装 pygame(除非您出于其他原因想使用它)。 Kivy 现在使用 SDL2 作为默认后端,因此请确保您已安装它并且 Kivy 可以找到它进行编译 - 您将在编译期间看到有关此的构建日志。

    1.9.1 是当前的稳定版本,大约在 3 个月前发布,比 2009 年更近。

    【讨论】:

    • 在单独的 virtualenv kivy:(kivy)> pip install libsdl2 中,我得到:“正在收集 libsdl2。找不到满足 libsdl2 要求的版本(来自版本:)找不到与 libsdl2 匹配的发行版。”跨度>
    • SDL2 不是 python 库(并且 Kivy 不需要/使用确实存在的 sdl2 python 库,它是 SDL2 的 ctypes 接口)。你可以从它的网站上下载它,或者可能通过 homebrew 之类的东西。
    • 我明白了。谢谢你的帮助。我认为最大的错误是假设 Kivy 可以在 MacPorts 上工作,但这是最好远离 MacPorts 并安装在其他地方的情况之一。
    猜你喜欢
    • 2017-03-20
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    相关资源
    最近更新 更多