Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Why am I getting "NameError: name 'qiskit' is not defined" on my program when I already imported all qiskit functions

I’m using the IBM quantum lab to run my python program. I imported all these functions/libraries:

from ibm_quantum_widgets import CircuitComposer

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

from numpy import pi

import json

import ast

from qiskit import *

from qiskit import QuantumCircuit, execute, BasicAer

from qiskit.tools.monitor import job_monitor

from qiskit import IBMQ

from qiskit import BasicAer

just to make sure I literally got everything from the qiskit library (if that’s the right term, I’m kind of a beginner). It’s overkill but I did it mainly because every time I run my program and get to this line of code:

measure = qiskit.execute(circuit, backend=thequantumcomputer, shots=1)

I get a nameerror, qiskit not defined. I wanted to import everything just to be sure that wasn’t the issue. Does anyone understand what possibly could be the issue here? for context, I’ll copy and paste the code before the error:

            IBMQ.load_account()
            provider = IBMQ.get_provider(hub = 'ibm-q')
            thequantumcomputer = provider.get_backend('ibmq_qasm_simulator')
            
            #measures all the circuits
            circuit.measure(0,0) 
            circuit.measure(1,1)
            circuit.measure(2,2)
            circuit.measure(3,3)
            circuit.measure(4,4)
            circuit.measure(5,5)
            circuit.measure(6,6)
            circuit.measure(7,7)
            circuit.measure(8,8)

            measure = qiskit.execute(circuit, backend=thequantumcomputer, shots=1)

Thanks for any suggestions you have 🙂

>Solution :

You would need to say

import qiskit

What you have said is

from qiskit import execute

That brings in the name execute. It does not define a name called qiskit. So, you could say:

            measure = execute(circuit, backend=thequantumcomputer, shots=1)

Or you could just use import qiskit instead of importing all the individual names. I tend to prefer that, because then I know exactly where the name came from.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading