求助:Kivy应用在Xcode中加载模块失败(ImportError)
Kivy iOS 模块加载错误(PyInit_kivy__event/PyInit__event)解决方案
这个错误是Kivy的C扩展模块在iOS打包过程中未正确编译或链接导致的,以下是针对性解决步骤:
清理kivy-ios编译缓存并重建核心库
- 进入kivy-ios目录执行清理命令:
cd kivy-ios && rm -rf build dist - 重新编译Kivy核心模块:
./toolchain.py build kivy
- 进入kivy-ios目录执行清理命令:
对齐Python版本并重建项目
- 确保本地开发环境Python版本与打包使用版本一致(日志显示为Python 3.11.6),避免跨版本编译冲突
- 基于最新编译环境重新创建iOS项目:
./toolchain.py create "YourAppName" /path/to/your/main.py
替换
imp模块为importlib- 项目中若有用到
imp模块的代码,全部替换为importlib(Python 3.12+已弃用imp,打包脚本可能因该警告触发加载异常) - 示例替换逻辑:
# 原imp加载代码 import imp module = imp.load_source('module_name', '/path/to/module.py') # 替换为importlib写法 import importlib.util spec = importlib.util.spec_from_file_location('module_name', '/path/to/module.py') module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module)
- 项目中若有用到
清理模拟器缓存并重新打包
- 重新打包应用:
./toolchain.py ios build - 在Xcode中删除模拟器上的旧应用,清理Derived Data(路径:Xcode → 设置 → 位置 → Derived Data,删除对应项目文件夹)
- 重新运行模拟器测试应用
- 重新打包应用:
内容的提问来源于stack exchange,提问作者Sean Aldous
相关产品推荐
相关产品推荐

