繁体   English   中英

当我已经导入所有 qiskit 函数时,为什么在我的程序中出现“NameError: name 'qiskit' is not defined”

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

我正在使用 IBM 量子实验室来运行我的 python 程序。 我导入了所有这些函数/库:

从 ibm_quantum_widgets 导入 CircuitComposer

从 qiskit 导入 QuantumRegister、ClassicalRegister、QuantumCircuit

从 numpy 导入 pi

进口 json

导入 ast

从 qiskit 导入 *

从 qiskit 导入 QuantumCircuit,执行,BasicAer

从 qiskit.tools.monitor 导入 job_monitor

从 qiskit 导入 IBMQ

从 qiskit 导入 BasicAer

只是为了确保我确实从 qiskit 库中获得了所有内容(如果这是正确的术语,我是一个初学者)。 这是矫枉过正,但我这样做主要是因为每次我运行我的程序并进入这行代码时:

测量=qiskit.execute(电路,后端=量子计算机,镜头=1)

我收到一个名称错误,未定义 qiskit。 我想导入所有内容以确保这不是问题。 有谁知道这里可能是什么问题? 对于上下文,我将复制并粘贴错误之前的代码:

            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)

感谢您的任何建议:)

你需要说

import qiskit

你说的是

from qiskit import execute

这带来了名称execute 它没有定义一个名为qiskit的名称。 所以,你可以说:

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

或者您可以只使用import qiskit而不是导入所有个人名称。 我倾向于这样,因为那时我确切地知道这个名字的来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM