diff --git a/qiskit_experiments/framework/backend_data.py b/qiskit_experiments/framework/backend_data.py index 93ed671d6d..e4fa64b96a 100644 --- a/qiskit_experiments/framework/backend_data.py +++ b/qiskit_experiments/framework/backend_data.py @@ -17,7 +17,24 @@ class unifies data access for various data fields. """ from qiskit.providers.models import PulseBackendConfiguration from qiskit.providers import BackendV1, BackendV2 -from qiskit.providers.fake_provider import fake_backend, FakeBackendV2, FakeBackend +from qiskit.providers.fake_provider import FakeBackendV2, FakeBackend + +# One of the FakeBackendV2's was moved from qiskit to qiskit-ibm-runtime. Check +# both packages until dropping support for qiskit<1 +try: + from qiskit.providers.fake_provider.fake_backend import FakeBackendV2 as QiskitFakeBackendV2 +except ImportError: + + class QiskitFakeBackendV2: + pass + + +try: + from qiskit_ibm_runtime.fake_provider.fake_backend import FakeBackendV2 as RuntimeFakeBackendV2 +except ImportError: + + class RuntimeFakeBackendV2: + pass class BackendData: @@ -255,7 +272,9 @@ def is_simulator(self): if self._backend.configuration().simulator or isinstance(self._backend, FakeBackend): return True if self._v2: - if isinstance(self._backend, (FakeBackendV2, fake_backend.FakeBackendV2)): + if isinstance( + self._backend, (FakeBackendV2, QiskitFakeBackendV2, RuntimeFakeBackendV2) + ): return True return False