
Qiskit 1.0 版本重构了模块结构,qiskit.Aer 已被移除,需改用独立包 qiskit_aer 并通过 from qiskit_aer import Aer 导入,本文详解迁移步骤、常见错误及兼容性注意事项。
qiskit 1.0 版本重构了模块结构,`qiskit.aer` 已被移除,需改用独立包 `qiskit_aer` 并通过 `from qiskit_aer import aer` 导入,本文详解迁移步骤、常见错误及兼容性注意事项。
自 Qiskit 1.0(2024年3月正式发布)起,项目采用“模块解耦”架构,原集成在 qiskit 主包中的仿真器核心 Aer 被拆分为独立子包 qiskit-aer。这意味着你不能再使用旧式导入方式:
# ❌ 已废弃(Qiskit < 1.0 风格)
from qiskit import Aer
backend = Aer.get_backend('aer_simulator')而必须显式安装并导入新包:
# ✅ 确保安装最新版(Colab 中推荐加 --upgrade) !pip install --upgrade qiskit qiskit-aer
# ✅ 正确导入方式(Qiskit 1.0+)
from qiskit_aer import Aer
from qiskit import QuantumCircuit
# 构建电路
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
# 获取仿真器
simulator = Aer.get_backend('aer_simulator')
result = simulator.run(qc).result()
print(result.get_counts())⚠️ 关键注意事项:
- qiskit 主包本身不再包含 Aer 属性,即使已安装 qiskit-aer,qiskit.Aer 仍会触发 AttributeError;
- 不要混用 import qiskit 后尝试 qiskit.Aer —— 这是常见误区;
- 若使用 qiskit.providers.aer(旧路径),该路径也已弃用,请统一迁移到 qiskit_aer;
- 在 Google Colab 中,建议每次运行前执行 !pip list | grep -i "qiskit" 验证版本,确保 qiskit ≥ 1.0 且 qiskit-aer ≥ 0.14.0。
? 额外提示:兼容性检查
可添加运行时校验,避免环境差异导致静默失败:
try:
from qiskit_aer import Aer
except ImportError:
raise ImportError("qiskit-aer is not installed. Run: pip install qiskit-aer")
# 验证 Aer 是否可用
assert hasattr(Aer, 'get_backend'), "Aer module loaded but missing get_backend"完成上述迁移后,你的仿真代码即可在 Qiskit 1.0+ 环境(包括最新版 Colab)中稳定运行。建议同步查阅 Qiskit 1.0 官方迁移指南 获取完整 breaking changes 列表。










