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

Android Studio中Chaquopy运行HOG程序提示skimage模块缺失求助

Fixing "no module named skimage" Error in Chaquopy with scikit-image

我来帮你解决Chaquopy中导入scikit-image时出现的模块找不到问题,结合你使用的Chaquopy 6.3.0和Android Gradle 3.5.0版本,我们一步步排查:

1. 指定兼容的scikit-image版本

Chaquopy 6.3.0仅支持Python 3.6~3.8,而较新的scikit-image版本(比如0.18及以上)要求Python 3.9+,这会直接导致依赖安装失败或无法识别模块。你需要锁定一个兼容的旧版本,比如0.17.2(支持Python3.8的最后一个稳定版本之一),同时配套指定兼容的依赖版本避免冲突:

python{
    pip{
        install "scikit-image==0.17.2"
        install "numpy==1.19.5"
        install "matplotlib==3.3.4"
        install "scikit-learn==0.24.2"
    }
}

2. 验证Gradle配置结构

确保你的python块位于模块级build.gradle的顶层,和android块同级,不要嵌套在android内部。正确的结构示例:

plugins {
    id 'com.android.application'
    id 'com.chaquo.python'
}

android {
    // 你的Android配置(compileSdkVersion、defaultConfig等)
}

python {
    pip {
        // 上面修改后的依赖安装配置
    }
}

3. 强制清理缓存并重新构建

Gradle缓存偶尔会导致依赖未正确安装,执行以下操作:

  • 点击Android Studio右上角的Sync Project with Gradle Files按钮,等待同步完成
  • 依次执行Build > Clean Project和Build > Rebuild Project
  • 如果问题依旧,手动删除项目根目录的.gradle文件夹和模块目录的build文件夹,再重新同步构建

4. 确保架构兼容性

Chaquopy需要对应CPU架构的二进制依赖包,在build.gradle的defaultConfig中指定支持的架构:

android {
    defaultConfig {
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
        }
    }
}

这样Chaquopy会为这些架构下载匹配的scikit-image轮子,避免因架构不匹配导致模块缺失。

5. 调试验证依赖是否安装成功

可以在Python代码开头添加一段调试代码,查看已安装的包列表,确认scikit-image是否真的被安装:

import pkg_resources
installed_packages = [pkg.key for pkg in pkg_resources.working_set]
print("Installed packages:", installed_packages)

运行后查看Logcat输出,如果没有scikit-image或skimage,说明依赖未安装成功,回到前面的步骤重新检查配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:42:10