Android Studio集成Chaquopy安装opencv-python遇distutils.util缺失错误
问题与解决方案
问题详情
- 开发环境:Android Studio 集成 Chaquopy,Python 可正常运行
- 需求:代码依赖 OpenCV 的 cv2 模块,因此在
defaultConfig中添加配置:python { pip { install "opencv-python" } } - 报错情况:Gradle 同步时反复出现以下错误:
*** Process 'command 'python3.8'' finished with non-zero exit value 1 *** *** Execution failed for task ':app:generateDebugPythonRequirements'. ModuleNotFoundError: No module named 'distutils.util' *** *** > Process 'command 'python3.8'' finished with non-zero exit value 1 *** *** ModuleNotFoundError: No module named 'distutils.util' *** *** Process 'command '/usr/bin/python3.8'' finished with non-zero exit value 1 *** - 已尝试操作:更新 Gradle 至最新版本,问题未解决
解决步骤
1. 安装 Python3.8 的 distutils 组件
报错核心是系统中的 Python3.8 缺少 distutils.util 模块,这是 Python 标准库的一部分,在 Linux 系统中需单独安装:
sudo apt-get install python3.8-distutils
安装完成后,执行以下命令验证:
python3.8 -c "import distutils.util"
无报错则说明模块安装成功。
2. 重新同步 Gradle
回到 Android Studio,点击工具栏的「Sync Project with Gradle Files」按钮,重新执行同步操作,此时 opencv-python 应该能正常安装。
3. 备选方案:使用 Chaquopy 内置 Python
如果系统 Python 的问题无法解决,可指定使用 Chaquopy 自带的 Python 环境,避免依赖系统版本。在 build.gradle 的 python 块中添加配置:
python { // 让 Chaqoupy 使用内置 Python,无需依赖系统 Python buildPython "auto" pip { install "opencv-python" } }
内容的提问来源于stack exchange,提问作者ZLEKA
相关产品推荐
相关产品推荐

