Ubuntu环境运行Qiskit报错:pyximport无get_distutils_extension属性
问题:Qiskit导入时出现AttributeError(Ubuntu环境)
运行代码
import warnings import numpy as np from scipy.optimize import minimize from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister, execute, Aer from qiskit.aqua import QuantumInstance
报错信息
(qiskit_0.23.6) m99693@alveo:~/RESEARCH_WORK/code-main$ python testing.py Traceback (most recent call last): File "testing.py", line 5, in <module> from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister, execute, Aer File "/home/m992c693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/__init__.py", line 57, in <module> from qiskit.providers.aer import Aer File "/home/m992c693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/__init__.py", line 64, in <module> from .aerprovider import AerProvider File "/home/m99693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/aerprovider.py", line 20, in <module> from .backends.qasm_simulator import QasmSimulator File "/home/m99693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/backends/__init__.py", line 20, in <module> from .pulse_simulator import PulseSimulator File "/home/m99693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/backends/pulse_simulator.py", line 26, in <module> from ..pulse.controllers.pulse_controller import pulse_controller File "/home/m99693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/pulse/__init__.py", line 50, in <module> from .qutip_extra_lite.cy import pyxbuilder as pbldr File "/home/m99693/anaconda3/envs/qiskit_0.23.6/lib/python3.7/site-packages/qiskit/providers/aer/pulse/qutip_extra_lite/cy/pyxbuilder.py", line 55, in <module> OLD_EXT = pyximport.pyximport.get_distutils_extension AttributeError: module 'pyximport.pyximport' has no attribute 'get_distutils_extension'
环境依赖版本
| 包名 | 版本 |
|---|---|
| python | 3.7.4 |
| qiskit | 0.23.6 |
| qiskit-aer | 0.7.5 |
| qiskit-aqua | 0.8.2 |
| numpy | 1.19.1 |
| scipy | 1.6.1 |
| matplotlib | 3.4.2 |
| tqdm | 4.60.0 |
问题说明
仅Ubuntu实验室系统出现该报错,Windows笔记本相同版本配置下可正常运行,推测为操作系统相关的依赖兼容问题。
解决方案
1. 降级Cython版本
报错原因是高版本Cython中的pyximport模块移除了get_distutils_extension属性,而旧版Qiskit(0.23.6)依赖该属性。执行以下命令安装兼容版本:
# 使用pip安装 pip install cython==0.29.24 # 或使用conda安装 conda install cython=0.29.24
2. 验证并重新运行
运行pip show cython确认版本已降级至0.29.24,之后重新执行代码即可。
3. 备选方案:重装qiskit-aer
如果降级Cython后仍有问题,尝试重新安装指定版本的qiskit-aer:
pip uninstall qiskit-aer -y pip install qiskit-aer==0.7.5 --no-cache-dir
内容的提问来源于stack exchange,提问作者mchaudh4
相关产品推荐
相关产品推荐

