搭载M1芯片的Mac运行Kivy报架构不兼容错误如何解决
M1芯片Mac运行Kivy架构不兼容问题解决方案
问题根因
你安装的Kivy是x86_64架构的预编译二进制包,无法在M1系列芯片的arm64e架构上运行,同时Kivy 2.0.0官方默认版本本身未提供原生M1适配的预编译包。
操作步骤
方案1:编译安装原生arm64架构Kivy(推荐)
- 先确认终端未开启Rosetta转译:右键终端应用选择「显示简介」,取消勾选「使用Rosetta打开」,重启终端后执行
uname -m,返回arm64即为正常。 - 激活你的虚拟环境后,完全卸载原有Kivy相关组件:
pip uninstall -y kivy kivy_examples # 同时清理全局安装的版本 pip3 uninstall -y kivy kivy_examples
- 先通过M1原生版brew安装基础依赖(确认brew路径为/opt/homebrew/bin/brew,而非/usr/local/bin/brew):
brew install sdl2 sdl2_image sdl2_mixer sdl2_ttf libogg libvorbis portmidi
- 安装编译所需依赖,再本地编译安装Kivy:
pip install cython pillow numpy pip install kivy[base] kivy_examples --no-binary kivy
- 安装完成后直接运行你的测试代码即可正常启动。
方案2:Rosetta转译运行(应急方案)
如果不需要原生性能,可直接用转译模式运行:
- 右键终端应用选择「显示简介」,勾选「使用Rosetta打开」,重启终端。
- 激活虚拟环境后重新安装x86架构的Kivy即可正常运行。
内容的提问来源于stack exchange,提问作者Daniël J.H.
相关产品推荐
相关产品推荐

