在 Mac OS X 上用于 Python 3 的 Kivy

Posted

技术标签:

【中文标题】在 Mac OS X 上用于 Python 3 的 Kivy【英文标题】:Kivy for Python 3 on a Mac OS X 【发布时间】:2015-08-02 08:28:25 【问题描述】:

我想知道kivy 是否支持 Mac OS X 系统上的 Python 3。从kivy官网的download页面来看,kivy-1.9.0似乎可以用于Windows系统的Python 3.4,但它似乎不支持Mac OS X上的Python 3:

Mac OS X Mac OS X 10.9、10.10(需要 Python 2.7) Kivy-1.9.0-rev3-osx.dmg(镜像)

这似乎有点荒谬,为什么 kivy 应该在 Windows 上支持 Python 3 而在 Mac OS X 上却不支持?可能是因为 OS X 系统缺少 PyGame 对 Python 3 的支持?实际上,有一种方法可以为 Python 3 的 OS X 系统安装 PyGame,所以我不明白他们为什么不解决这个问题,如果这真的是一个问题。

我也尝试通过pip3 全局安装它,使用:

sudo pip3 install kivy

但我收到以下错误:

收集kivy 下载Kivy-1.9.0.tar.gz (16.2MB) 100% |████████████████████████████████| 16.2MB 34kB/s 命令 python setup.py egg_info 的完整输出:

Cython is missing, its required for compiling kivy !


Traceback (most recent call last):
  File "<string>", line 20, in <module>
  File "/private/tmp/pip-build-qt70t_44/kivy/setup.py", line 173, in <module>
    from Cython.Distutils import build_ext
ImportError: No module named 'Cython'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-qt70t_44/kivy

【问题讨论】:

这里我不确定,但我认为该包支持python2,因为它使用系统安装。不过我可能是错的,其他人可能肯定知道。如果你确定你有依赖项,你应该可以自己安装它,尤其是现在的 sdl2(不再是 pygame)。这种情况下,你好像缺少cython...我不知道你是怎么安装python的,但是如果你想编译kivy,你需要安装cython。 我从 PSF 网站安装了 Python...我不知道 cython 是一个依赖项,但错误当然与它有关...你知道安装 kivy 的指南吗为 Python 安装所有依赖项? 你的问题解决了吗? @toine 我已经放弃了使用 Kivy(这个问题是 3 个月前的问题),现在我不会尝试再次使用它,因为我没有时间。几天后我会尝试让你知道;) @inclement Kivy 带有自己的 python 发行版。它可能适用于系统安装,但这不是它的默认设置。 【参考方案1】:

您需要build from source。

正如之前的海报所提到的,您需要安装 Cython。

要获取最新版本,请使用

$ pip3 install cython

从那里,您需要修改 setup.py。 Here's an example of how I did it.

【讨论】:

【参考方案2】:

根据报错信息,你缺少包cython

Cython is missing, its required for compiling kivy !
...
ImportError: No module named 'Cython'

你应该运行pip install cython。 然后从源代码安装对我有用,反对使用pip

【讨论】:

以上是关于在 Mac OS X 上用于 Python 3 的 Kivy的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS X 上的 python 2.7 和 python 3.5 之间切换

在 Mac OS X 上卸载 Django

如何在 mac os x 上使用 gunicorn 和 python3.8 而不是 python3.9?

[Python] Mac OS 下 os.startfile 的替代方案

如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3

在 Mac OS X 上安装 MySQL Python