最近,我开始使用Q#和python作为主机语言。我当时正在做一个项目,一切看起来都很好。突然,我得到了错误“模块找不到”,我似乎在我以前的所有项目中也得到了它。
所以我有一个目录:bb84.qs在这个文件夹中我有两个文件: HostProtocol.py,它是主文件,BB84.qs,它是我想要导入的文件。
HostProtocol.py文件如下所示:
import qsharp
from Quantum.BB84 import Run_BB84Protocol
Run_BB84Protocol.simulate()BB84.qs文件如下所示:
namespace Quantum.BB84 {
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Canon;
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Diagnostics;
open Microsoft.Quantum.Convert;
open Microsoft.Quantum.Math;
function Run_BB84Protocol() Unit{... the code from the function...}
}当我尝试运行HostProtocol.py时,我得到以下错误消息:
出现异常:在Quantum.BB84导入Run_BB84Protocol中,没有名为'Quantum‘文件"C:\Users\Username\Q#projects\HostProtocol.py",第3行的模块
这也适用于我之前的所有项目。这非常令人沮丧,我不知道是什么原因造成的,因为它以前工作得很好。任何帮助都是绝对欢迎的!
发布于 2020-04-13 23:34:00
如果您的Q#源文件中有任何Q#编译错误,您的Q#操作和函数将不可用。检查Python输出中的错误。当我运行您提供的示例代码时,它在Q#代码中报告了一个语法错误(在返回类型Unit之前缺少一个冒号):
fail: Microsoft.Quantum.IQSharp.Workspace[0]
QS3211: Invalid return type annotation. The argument tuple needs to be followed
by a colon and the return type of the callable.https://stackoverflow.com/questions/61184725
复制相似问题