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

Chaquopy构建应用时安装qiskit包报错exit status 1如何解决

问题现象
  • 技术栈:Chaquopy 12.0.0、Gradle 8.0,已切换Python 3.8、Python 3.9作为构建环境验证
  • 异常表现:Gradle同步流程可正常完成,numpy、matplotlib等其余Python依赖安装正常,应用基础运行、普通Python函数调用无异常,仅qiskit包在应用构建安装到手机阶段抛出错误:ERROR: Command errored out with exit status 1:
  • 初始尝试qiskit版本为0.34.2,当前Gradle配置中指定安装版本为0.36.2,两个版本均触发相同报错

当前使用的Gradle配置片段:

python {
        buildPython "C:/Program Files/python/python3.8/python.exe"

        pip {
            // A requirement specifier, with or without a version number:
            install "numpy"
            install "qiskit==0.36.2"
            install "matplotlib"

        }
    }

当前使用的Python测试代码片段:

from qiskit import *
from qiskit.tools.visualization import plot_histogram
from qiskit.tools.visualization import plot_state_qsphere
from qiskit.tools.visualization import plot_bloch_multivector

def bv(num):
    return "test return"
问题原因

qiskit 0.34.2、0.36.2版本的核心依赖包含大量C/C++编写的原生扩展模块,这些模块没有发布适配Chaquopy支持的Android CPU架构(armeabi-v7a、arm64-v8a等)的预编译wheel包,Chaquopy构建阶段无法在Android交叉编译环境下完成这些原生模块的源码编译,最终触发pip安装进程退出码1的错误。该问题和本地PC端安装的Python版本无关,本质是旧版qiskit的依赖没有做移动端环境适配。

解决步骤
  • 替换qiskit安装包为纯Python实现的核心版本:将Gradle中qiskit的安装配置改为install "qiskit-terra==0.21.2",该版本核心逻辑无强制原生编译依赖,可在Chaquopy的Python运行环境中正常加载
  • 暂时移除可视化相关依赖引用:测试代码中引入的三个可视化函数依赖matplotlib的桌面端渲染后端,在Android环境下本身存在兼容问题,初期调试核心量子计算逻辑时先注释掉这几行import,减少不必要的依赖拉取,待核心逻辑跑通后再单独适配可视化能力
  • 按需调整pip安装参数:如果安装时仍有子依赖报错,可在pip配置块中添加pipOptions "--no-deps"先安装qiskit核心包,后续再逐个手动安装经过兼容性验证的依赖版本,避免pip自动拉取带原生编译要求的高版本子依赖

调整后的最小验证Python代码:

from qiskit import QuantumCircuit, execute, Aer
def bv(num):
    return "test return"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:57:12