You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除KivyMD中的kivy.require语句适配Kivy 2.1.0?

解决方案

问题根源

你当前使用的KivyMD master分支(最新开发版本)已将最低依赖的Kivy版本提升至2.2.0,但你的项目因相机功能限制必须使用Kivy 2.1.0,二者版本冲突导致应用启动崩溃。

推荐解决方案:使用兼容Kivy 2.1.0的KivyMD稳定版本

不要直接依赖KivyMD的master分支,改用明确支持Kivy 2.1.0的稳定版本,比如KivyMD 1.1.1(该版本官方兼容Kivy 2.1.0):

  • 打开你的buildozer.spec文件,找到requirements配置项,将原有的KivyMD依赖链接替换为对应稳定版本的zip包:
    requirements = python3,kivy==2.1.0,https://github.com/kivymd/KivyMD/archive/refs/tags/1.1.1.zip
    
  • 重新执行Buildozer构建命令即可。

不推荐的临时方案:修改KivyMD的版本检查逻辑

如果一定要继续使用KivyMD master分支,可以修改其版本检查代码,但可能引发未知兼容性问题:

  1. 在Buildozer构建流程中添加预处理步骤,下载KivyMD的master分支zip包后解压;
  2. 找到解压后的kivymd/__init__.py文件,将其中的:
    kivy.require("2.2.0")
    
    修改为:
    kivy.require("2.1.0")
    
  3. 将修改后的KivyMD重新打包为zip,再指定为Buildozer的依赖进行安装。

这种方法需要编写额外的构建脚本,且KivyMD master分支的后续代码可能使用了Kivy 2.2.0的新特性,依然会导致运行时错误,因此仅作为临时应急方案。


内容的提问来源于stack exchange,提问作者AaronTan21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:22:16