Skip to content

Error when import qiskit-algorithms #229

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
EduMolinero opened this issue May 19, 2025 · 1 comment
Open

Error when import qiskit-algorithms #229

EduMolinero opened this issue May 19, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@EduMolinero
Copy link

Environment

  • Qiskit version:
    qiskit 2.0.1
    qiskit-algorithms 0.3.1
  • Python version:
    Python 3.12.9
  • Operating system:
    macos sequoia 15.4.1

What is happening?

When I try to import anything from qiskit-algorithms I get the following error:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[4], line 1
----> 1 from qiskit_nature.second_q.mappers import JordanWignerMapper
      2 mapper = JordanWignerMapper()

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_nature/__init__.py:53
      1 # This code is part of a Qiskit project.
      2 #
      3 # (C) Copyright IBM 2018, 2023.
   (...)     10 # copyright notice, and modified files need to carry a notice indicating
     11 # that they have been altered from the originals.
     12 r"""
     13 =============================================
     14 Qiskit Nature module (:mod:`qiskit_nature`)
   (...)     50 
     51 """
---> 53 from qiskit_algorithms.list_or_dict import ListOrDict as ListOrDictType
     55 from .exceptions import QiskitNatureError, UnsupportMethodError
     56 from .logging import logging

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/__init__.py:254
    252 from .algorithm_job import AlgorithmJob
    253 from .algorithm_result import AlgorithmResult
--> 254 from .variational_algorithm import VariationalAlgorithm, VariationalResult
    255 from .amplitude_amplifiers import Grover, GroverResult, AmplificationProblem, AmplitudeAmplifier
    256 from .amplitude_estimators import (
    257     AmplitudeEstimator,
    258     AmplitudeEstimatorResult,
   (...)    267     EstimationProblem,
    268 )

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/variational_algorithm.py:36
     33 from qiskit.circuit import QuantumCircuit
     35 from .algorithm_result import AlgorithmResult
---> 36 from .optimizers import OptimizerResult
     39 class VariationalAlgorithm(ABC):
     40     """The Variational Algorithm Base Class."""

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/optimizers/__init__.py:139
    137 from .p_bfgs import P_BFGS
    138 from .powell import POWELL
--> 139 from .qnspsa import QNSPSA
    140 from .scipy_optimizer import SciPyOptimizer
    141 from .slsqp import SLSQP

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/optimizers/qnspsa.py:23
     20 import numpy as np
     21 from qiskit.circuit import QuantumCircuit
---> 23 from qiskit.primitives import BaseSampler
     24 from qiskit_algorithms.state_fidelities import ComputeUncompute
     26 from .spsa import SPSA, CALLBACK, TERMINATIONCHECKER, _batch_evaluate

ImportError: cannot import name 'BaseSampler' from 'qiskit.primitives' (/Users/user/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit/primitives/__init__.py)

How can we reproduce the issue?

The error arises from the import directly

from qiskit_algorithms import *

What should happen?

It should import the class without any kind of errors. From the documentation of qiskit the BaseSamplerhas been splitted into two different object BaseSamplerV1and BaseSamplerV2, so I think this is the cause of the error.

Any suggestions?

I've tried to change the import of BaseSampler into either BaseSamplerV1 or BaseSamplerV2 in the qiskit_algorithms/optimizers/qnspsa.pyfile, but I get the following error:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[2], line 1
----> 1 from qiskit_nature.second_q.mappers import JordanWignerMapper
      2 mapper = JordanWignerMapper()

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_nature/__init__.py:53
      1 # This code is part of a Qiskit project.
      2 #
      3 # (C) Copyright IBM 2018, 2023.
   (...)     10 # copyright notice, and modified files need to carry a notice indicating
     11 # that they have been altered from the originals.
     12 r"""
     13 =============================================
     14 Qiskit Nature module (:mod:`qiskit_nature`)
   (...)     50 
     51 """
---> 53 from qiskit_algorithms.list_or_dict import ListOrDict as ListOrDictType
     55 from .exceptions import QiskitNatureError, UnsupportMethodError
     56 from .logging import logging

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/__init__.py:254
    252 from .algorithm_job import AlgorithmJob
    253 from .algorithm_result import AlgorithmResult
--> 254 from .variational_algorithm import VariationalAlgorithm, VariationalResult
    255 from .amplitude_amplifiers import Grover, GroverResult, AmplificationProblem, AmplitudeAmplifier
    256 from .amplitude_estimators import (
    257     AmplitudeEstimator,
    258     AmplitudeEstimatorResult,
   (...)    267     EstimationProblem,
    268 )

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/variational_algorithm.py:36
     33 from qiskit.circuit import QuantumCircuit
     35 from .algorithm_result import AlgorithmResult
---> 36 from .optimizers import OptimizerResult
     39 class VariationalAlgorithm(ABC):
     40     """The Variational Algorithm Base Class."""

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/optimizers/__init__.py:139
    137 from .p_bfgs import P_BFGS
    138 from .powell import POWELL
--> 139 from .qnspsa import QNSPSA
    140 from .scipy_optimizer import SciPyOptimizer
    141 from .slsqp import SLSQP

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/optimizers/qnspsa.py:24
     21 from qiskit.circuit import QuantumCircuit
     23 from qiskit.primitives import BaseSamplerV1
---> 24 from qiskit_algorithms.state_fidelities import ComputeUncompute
     26 from .spsa import SPSA, CALLBACK, TERMINATIONCHECKER, _batch_evaluate
     28 # the function to compute the fidelity

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/state_fidelities/__init__.py:40
      1 # This code is part of a Qiskit project.
      2 #
      3 # (C) Copyright IBM 2022, 2023.
   (...)     10 # copyright notice, and modified files need to carry a notice indicating
     11 # that they have been altered from the originals.
     12 """
     13 State Fidelities (:mod:`qiskit_algorithms.state_fidelities`)
     14 ============================================================
   (...)     37 
     38 """
---> 40 from .base_state_fidelity import BaseStateFidelity
     41 from .compute_uncompute import ComputeUncompute
     42 from .state_fidelity_result import StateFidelityResult

File ~/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit_algorithms/state_fidelities/base_state_fidelity.py:24
     22 from qiskit import QuantumCircuit
     23 from qiskit.circuit import ParameterVector
---> 24 from qiskit.primitives.utils import _circuit_key
     26 from ..algorithm_job import AlgorithmJob
     29 class BaseStateFidelity(ABC):

ImportError: cannot import name '_circuit_key' from 'qiskit.primitives.utils' (/Users/user/anaconda3/envs/quantum/lib/python3.12/site-packages/qiskit/primitives/utils.py)

I've also tried to install everything from scratch using either pip or conda in new enviroments but the problem remains.

@EduMolinero EduMolinero added the bug Something isn't working label May 19, 2025
@woodsp-ibm
Copy link
Member

woodsp-ibm commented May 22, 2025

Qiskit Algorithms (as well as the application modules, such as Qiskit Nature) do not support Qiskit 2.0. There is an issue here #224 for algorithms and similar in the application repos. For now you need to install a Qiskit version < 2.0 such as the latest 1.4 version 1.4.3, You can do this using pip install qiskit==1.4.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants