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

集成Chaquopy到Flutter时遇ModuleNotFoundError: No module named 'cgi'问题

解决Chaquopy集成Flutter时安装numpy/scipy出现的cgi模块缺失问题

问题原因

cgi是Python标准库模块,在较新的Python版本(如3.11+)中该模块被标记为废弃,Chaquopy默认打包时可能未包含此模块;或者当前Chaquopy配置未显式引入该模块,导致依赖numpy/scipy时触发缺失错误。

解决方案

1. 显式添加cgi标准库模块到Chaquopy配置

修改build.gradle中的Python配置部分,添加includedModules指定包含cgi模块:

defaultConfig {
    applicationId "com.example.ecg_measuring_app"
    minSdkVersion 23
    targetSdkVersion 33
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "arm64-v8a", "x86_64"
    }
    python {
        includedModules = ["cgi"]
        pip {
            install "numpy"
            install "scipy"
        }
    }
}

2. 指定兼容的Python版本

如果上述方法无效,可尝试指定Python3.10版本(该版本中cgi模块仍为标准库默认包含项),在build.gradle的python块中添加版本指定:

python {
    version "3.10"
    includedModules = ["cgi"]
    pip {
        install "numpy"
        install "scipy"
    }
}

3. 清理并重新构建项目

完成配置修改后,执行以下操作确保生效:

  • 清理项目:在Android Studio中点击Build > Clean Project
  • 重新构建:点击Build > Rebuild Project
  • 重新运行Flutter应用

后续依赖安装注意事项

对于后续需要安装的其他Python依赖,若出现类似标准库模块缺失问题,可通过在includedModules中添加对应模块名解决;若依赖本身存在版本兼容问题,可指定具体的兼容版本(如install "numpy==1.24.3")来适配Chaquopy的Python环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:22:09