본문 바로가기

공부/코딩

[qiskit] ImportError: cannot import name 'Sampler' from 'qiskit.primitives' 에러

반응형

에러 내용

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[32], line 6
      4 from sklearn.svm import SVC
      5 from qiskit.circuit.library import ZFeatureMap, ZZFeatureMap
----> 6 from qiskit_machine_learning.kernels import FidelityQuantumKernel
      7 from qiskit.primitives import StatevectorSampler
      8 from qiskit_machine_learning.state_fidelities import ComputeUncompute

File ~/anaconda3/envs/qml1w/lib/python3.9/site-packages/qiskit_machine_learning/kernels/__init__.py:62
     13 r"""
     14 Quantum kernels (:mod:qiskit_machine_learning.kernels)
     15 ========================================================
   (...)
     58    algorithms
     59 """
     61 from .base_kernel import BaseKernel
---> 62 from .fidelity_quantum_kernel import FidelityQuantumKernel
     63 from .fidelity_statevector_kernel import FidelityStatevectorKernel
     64 from .trainable_kernel import TrainableKernel

File ~/anaconda3/envs/qml1w/lib/python3.9/site-packages/qiskit_machine_learning/kernels/fidelity_quantum_kernel.py:21
     19 import numpy as np
     20 from qiskit import QuantumCircuit
---> 21 from qiskit.primitives import Sampler
     22 from ..state_fidelities import BaseStateFidelity, ComputeUncompute
     24 from .base_kernel import BaseKernel

ImportError: cannot import name 'Sampler' from 'qiskit.primitives' (/Users/username/anaconda3/envs/qml1w/lib/python3.9/site-packages/qiskit/primitives/__init__.py)

 

디버깅

qiskit 버전을 확인해보니 2.0 이었다.

!pip show qiskit

해결방법

qiskit tutorial 에 나와있는 qiskit 버전은 1.0 버전이라 다운그레이드 해주었다.

!pip install --force-reinstall -v "qiskit==1.3.1"

 

 

튜토리얼 할 때는 requirements.txt 파일이 있는지 먼저 찾아보고 패키지 버전을 맞춰주자.

https://romanticdog.tistory.com/88

 

[python/macOS] 파이썬에서 패키지 다운그레이드 하기/pip/패키지 버전 확인 방법

문제점패키지를 쓰다보면 최신버전의 패키지에서 호환되지 않아서 다른 모듈을 실행할 수 없는 경우가 있다.그럴 땐 단순하게 패키지를 다운그레이드 시키는 것이 가장 빠른 방법인 것 같다. 

romanticdog.tistory.com

 

반응형