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

Qiskit环境版本冲突引发ImportError的解决方法咨询

Qiskit环境版本冲突引发ImportError的解决方法咨询

看起来你碰到了Qiskit 1.0+版本和旧版本依赖冲突的典型问题,别着急,这个情况在Qiskit大版本迭代后很常见,我给你梳理一套清晰的解决步骤:

问题根源分析

错误提示已经说得很明确:你的conda环境里同时存在Qiskit 1.0+和旧版本的依赖包,尤其是那些依赖qiskit-terra的旧工具包——Qiskit 1.0之后已经把qiskit-terra合并到主包qiskit里了,旧的依赖包和新主包完全不兼容,而且pip/conda没法自动检测并处理这种冲突,只能手动清理环境。

具体解决步骤

  • 第一步:彻底清理冲突的旧环境
    先激活你的旧环境,然后完全删除它:

    conda activate qiskit-env
    conda deactivate && conda remove -n qiskit-env --all -y
    

    可以用下面的命令确认环境已经被删除:

    conda info --envs
    
  • 第二步:创建全新的纯净conda环境
    选一个Qiskit 1.0+支持的Python版本(推荐3.8~3.11),创建新环境:

    conda create -n qiskit-clean-env python=3.10 -y
    conda activate qiskit-clean-env
    
  • 第三步:正确安装Qiskit和IBM Runtime
    不要混合旧的安装命令,直接用官方推荐的方式安装,避免引入旧依赖:

    # 安装核心Qiskit包
    pip install qiskit
    # 安装IBM量子服务运行时包
    pip install qiskit-ibm-runtime
    

    安装完成后,验证一下当前环境的包状态,确保没有qiskit-terra这个旧包:

    pip list | grep qiskit
    

    正常输出里应该只有qiskit、qiskit-ibm-runtime,不会出现qiskit-terra。

  • 第四步:验证代码导入并适配新API
    注意!Qiskit 1.0之后已经弃用了旧的IBMQ导入方式,你需要改用新的QiskitRuntimeService来连接IBM量子服务。在JupyterLab里运行以下代码验证:

    from qiskit import QuantumCircuit
    from qiskit_ibm_runtime import QiskitRuntimeService
    
    # 初始化服务(用你的API Token)
    service = QiskitRuntimeService.save_account(token="你的API Token", overwrite=True)
    

    如果没有报错,说明环境已经正常了。

额外注意事项

  • 不要在新环境里安装任何标注依赖qiskit-terra的第三方包,这些都是针对Qiskit 1.0之前版本的,会再次引发冲突。
  • 如果你的JupyterLab是全局安装的,记得给新环境添加内核,这样才能在Jupyter里使用这个纯净环境:
    pip install ipykernel
    python -m ipykernel install --user --name=qiskit-clean-env --display-name="Qiskit 1.x Clean Env"
    

备注:内容来源于stack exchange,提问作者M Rifqi Azkiya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 09:18:02