Qiskit 1.0 起,qiskit.Aer 已被移除,必须改用独立安装的 qiskit_aer 包并从 qiskit_aer 命名空间导入,本文详解兼容性迁移、环境验证与常见错误排查。
qiskit 1.0 起,`qiskit.aer` 已被移除,必须改用独立安装的 `qiskit_aer` 包并从 `qiskit_aer` 命名空间导入,本文详解兼容性迁移、环境验证与常见错误排查。
在 Qiskit 1.0 及更高版本中,核心模块架构已发生重大变更:Aer 不再作为 qiskit 包的子模块内置,而是完全解耦为独立包 qiskit-aer。因此,以下写法在新版本中会直接报错:
from qiskit import Aer # ❌ 错误!Qiskit 1.0+ 已废弃此导入方式
✅ 正确做法是:显式安装 qiskit-aer,并从其自身命名空间导入:
from qiskit_aer import Aer # ✅ 推荐(与旧代码行为一致) # 或更明确地使用具体后端类(推荐用于生产环境): from qiskit_aer import AerSimulator from qiskit_aer.noise import NoiseModel
✅ 快速修复步骤(适用于 IBM Quantum Lab 等环境)
-
升级核心依赖(确保版本兼容):
pip install --upgrade qiskit qiskit-aer
? 注意:qiskit 主包本身不再捆绑 Aer,qiskit-aer 必须单独安装且版本 ≥ 1.0(如 qiskit-aer==1.3.0)。
-
验证 Python 环境一致性(尤其在 Jupyter/Quantum Lab 中易出现多环境问题):
import sys print("当前 Python 解释器路径:", sys.executable)若输出路径与你执行 pip install 的环境不一致(例如 Jupyter 内核指向 /opt/conda/envs/qiskit-1.0/bin/python,但 pip 安装到了系统 Python),需在对应环境重装:
# 在 Jupyter 中指定内核环境安装(以 conda 环境为例) !{sys.executable} -m pip install --upgrade qiskit-aer -
重启内核并测试:
from qiskit_aer import Aer print(Aer.__version__) # 应输出类似 '1.3.0' simulator = Aer.get_backend('aer_simulator') print(simulator.name()) # 输出 'aer_simulator'
⚠️ 注意事项与最佳实践
- 避免混用旧版导入:from qiskit import Aer 在 Qiskit
- 显式导入优于通配符:不建议 from qiskit_aer import *,应按需导入(如 AerSimulator, StatevectorSimulator),提升可读性与可维护性。
-
检查版本兼容性:运行 pip list | grep -i "qiskit" 确认:
qiskit 1.0.0+ qiskit-aer 1.0.0+ # 必须 ≥1.0,且与 qiskit 主版本协同更新
- IBM Quantum Lab 用户特别提示:Lab 默认环境可能预装旧版 Qiskit。请务必在 Notebook 首单元格执行升级命令,并使用 !pip list 确认生效后再运行后续代码。
通过以上调整,即可无缝迁移到 Qiskit 1.0+ 架构,享受 Aer 的高性能仿真能力,同时保持代码清晰与长期可维护性。










