量子编程入门第一篇环境搭建dotnet-sdk+Microsoft.Quantum.IQSharp+python3.6+qsharp

2023-05-16

    量子编程已经提上日程,微软提供了quantum开发工具包 Microsoft Quantum Development Kit简称QDK,在visual studio 2019环境下,可以安装quantum工具,本人试过在visual studio 2017下无法安装这个工具,只能按照微软提供的简易安装环境。环境要求python3.6、dotnet-sdk-2.1及以上。如下图所示:

    

    这里我的python环境是3.7.4,.Net Core SDK版本是2.2.108。这里主要是需要安装dotnet环境。我选择的是压缩包的sdk。下载地址是:https://dotnet.microsoft.com/download/dotnet-core/2.2。选择一个合适的版本即可。

    我的dotnet-sdk-2.2.108-win-x64.zip解压到一个目录,然后将该目录加入环境变量就可以了。验证dotnet版本信息:

    

    接着就可以进行dotnet tool install -g Microsoft.Quantum.IQSharp安装了。 安装过程会下载dotnet-iqsharp.exe到系统用户目录下的.dotnet\tools目录下。如下所示:

       

    接着,我们需要在命令行下进入该目录,然后运行dotnet iqsharp install,如果不到该目录下运行此命令,会报错,找不到dotnet-iqsharp.exe文件。安装成功的情况:

C:\Users\Administrator>dotnet iqsharp install
[InstallKernelSpec] Installed kernelspec iqsharp in C:\ProgramData\jupyter\kernels\iqsharp

    windows环境准备好了,接下来需要pip安装qsharp依赖。pip install qsharp,这个依赖需要依赖pywin32等等,安装完成,我们查看安装的库。

    

    以上到这里,环境就全部准备好了,我们可以编写两个文件,一个是q#编写的Operation.qs,一个是hello_world.py。内容如下所示:

    Operation.qs

namespace HelloWorld
{
        open Microsoft.Quantum.Intrinsic;
        open Microsoft.Quantum.Canon;

        operation SayHello() : Result {
                Message("Hello from Quantum!");
                return Zero;
        }
}

    hello_world.py 

import qsharp
from HelloWorld import SayHello
SayHello.simulate()

    直接运行python hello_world.py,打印了Hello from Quantum!表示成功了。 

    

    第一次运行python hello_world.py的时候,如果报错,基本就是win32api的问题,后面有介绍如何解决。如果不报错,那么第一次运行会比较慢,按照提示,好像需要准备Q#环境。再次执行,就很快打印结果了。 

    整个搭建过程中,遇到的问题如下:

    1、dotnet运行dotnet tool install -g Microsoft.Quantum.IQSharp正常,但是运行dotnet qsharp install的时候,报错,找不到dotnet-iqsharp.exe可执行程序,最后到~\.dotnet\tools目录下运行即可。

    2、通过pip install qsharp安装qsharp库之后,运行程序,报错提示找不到win32api模块,其实已经安装了,有可能是我们的sys.path中没有包含win32相关的路径。因为我的python不是通过msi的方式安装,直接使用的二进制压缩包安装,很多环境变量需要手动增加到sys.path中,这里给出我的sys.path的配置。找到python安装目录下的python37._pth文件,加入以下路径:

.\Lib\site-packages\pywin32_system32\
.\Lib\site-packages\win32\
.\Lib\site-packages\win32\lib
.\Lib\site-packages\pythonwin

    最后可以在python交互式环境中验证win32api是否已经可以通过import导入了。

C:\Users\Administrator\Desktop\test>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
>>> import win32api
>>>
>>>

    没有报错,则表示sys.path已经配置正确了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

量子编程入门第一篇环境搭建dotnet-sdk+Microsoft.Quantum.IQSharp+python3.6+qsharp 的相关文章

  • 参数 targetplatformversion 不能为 null - Visual Studio 2015

    我有 Windows 10 安装了 Visual Studio 2015 的笔记本电脑 我正在尝试创建一个通用 Windows Phone 应用程序的新项目 我总是收到错误参数 targetplatformVersion 不能为空 以下是我
  • 如何从 Azure 媒体服务获取视频的时长?

    我使用 Windows Azure Media Services NET SDK 3 来利用流媒体服务 我想检索视频的持续时间 如何使用 Windows Azure Media Services NET SDK 3 检索视频的持续时间 Az
  • iphone SDK:将图像从iphone上传到php服务器发送空文件?(内部示例代码链接)

    我尝试通过 PHP 将照片和 GPS 位置发送到服务器 这是 PHP 部分 从这里复制 http www w3schools com PHP php file upload asp保存上传的文件 上面的示例在服务器上的 PHP 临时文件夹中
  • 线程 1:信号 SIGABRT

    当我为 Xcode 项目运行模拟时出现上述错误 这出现在 O abort with payload 文件中 dyld abort with payload 0x10aae66f8 lt 0 gt movl 0x2000209 eax imm
  • Android Gradle:找不到符号变量

    我在使用 gradle 构建时遇到错误 如下所示 error cannot find symbol variable image name 我在用着ContextCompat getDrawable getActivity R drawab
  • 使用 SDK 的 iPhone 应用程序上的 reCaptcha

    有人在 iPhone 应用程序上使用过 reCaptcha 吗 我正在尝试弄清楚如何将其嵌入到我的应用程序中 在 iPhone 应用程序中使用 reCaptcha 的唯一方法是在应用程序中渲染 WebView reCaptcha 有一个很好
  • android studio 错误:缺少功能:WATCH

    我尝试在我的智能手表上使用 android studio 运行一个简单的应用程序 并收到以下消息 我的智能手表运行 Android 4 4 2 其 API 级别为 19 我尝试过但没有帮助的事情 将最低 SDK 版本更改为 API 19 r
  • Android Studio 不允许我更改 SDK 位置

    我打开 Android Studio 然后我打开 SDK 管理器 我拥有最新版本 但是我的 SDK 平台需要 Android 6 0 它甚至不让我点击任何东西 在此图像中 您可以看到文本和复选框变色 我无法单击 SDK 平台内的任何内容 甚
  • Android 操作系统上的 NFC 堆栈

    有人可以帮助我了解 NFC Android 堆栈的当前状态吗 随着OS 2 3发布了小型 NFC 支持 仅限于 NXP 标签读取 后来 Google 增强了 API 所以在OS 2 3 3支持更广泛的标签 并且还可以使用 p2p 我的问题是
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • EPi服务器开发

    除了 Episerver com 之外 使用EPiServer开发的人还使用哪些其他网站作为开发资源 一直在使用 coderesort com 但我发现它缺乏如何做事的示例 非常感谢 J 我用于EPiServer开发的通用资源 EPi服务器
  • Android Studio 使用的默认 Android SDK 路径是什么?

    使用Android Studio下载Android SDK时 默认下载路径是什么 我有兴趣了解 Linux Mac 和 Windows 的路径 在网上搜索了一下 好像是这样的 Linux Android Sdk Mac Library An
  • Paypal Rest API - 来自批准 URL 的令牌生命周期

    我使用 Paypal Rest API 我的问题是 有多长token来自批准 URL 有效吗 我想将此令牌 也包含我的令牌 存储到数据库并生成带有我的令牌的链接 稍后 如果我单击此链接 将我的令牌替换为 paypal 令牌 我想重定向到 p
  • 为 PlayStation 3 Linux 开发 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣开发软件索尼 PlayStation 3 http en wikipedia org wiki
  • 如何在不使用 Cocos2D 的情况下将声音实现到现有应用程序中

    例如 iOS SDK下载页面上有示例代码 我正在使用计算器应用程序 iPhoneUnitTests 我想知道是否可以轻松地向已构建的应用程序上的按钮添加声音 播放短声音 例如按钮声音 实际上非常简单 这是一个简单的例子 您必须链接 Audi
  • Windows 10 中的 gacutil.exe 在哪里?

    我有Windows 10 专业版 64 位 微软视觉工作室 2015和完整的 Windows 10 SDK 包 but 我找不到 gacutil exe in Microsoft Visual Studio 2015 子目录 Windows
  • 解析器解析 SQL 查询并返回 Java 中的列名和相应的表名 [重复]

    这个问题在这里已经有答案了 可能的重复 Java 的 SQL 解析器库 https stackoverflow com questions 660609 sql parser library for java 我需要一个解析器 它应该以以下
  • Android Eclipse 支持库:所需版本为空

    我刚刚从 Android 开发者网站下载并安装了适用于 Windows 的最新 ADT 捆绑包 接下来 我在 SDK 管理器中安装了所有软件包 包括 Android 支持库 Rev 18 最后 我通过 Eclipse 中的 帮助 gt 安装
  • 免费的 Flex SDK 中是否提供 Flex 图表?

    嗯嗯 图表似乎只能通过 Flex Builder 内置的 Flex SDK 获得 这是一个问题 因为我想使用 Flex 3 3 而 Flex Builder 附带了 3 2 Eclipse 也让我很恼火 我更喜欢使用不同的 IDE Flas
  • eclipse中更新ADT后出错

    我的 eclipse 中 ADT 的最新版本是 API 16 所以我更新了 ADT eclipse gt Help gt Install new software gt Work with ADT 然后发生了多个错误 我什至无法打开 And

随机推荐

  • flume大数据框架数据采集系统

    flume是cloudera开源的数据采集系统 xff0c 现在是apache基金会下的子项目 xff0c 他是hadoop生态系统的日志采集系统 xff0c 用途广泛 xff0c 可以将日志 网络数据 kafka消息收集并存储在大数据hd
  • flume日志收集系统常见配置

    前面介绍了flume入门实例 xff0c 介绍了配置netcat信源 xff0c 以及memory信道 xff0c logger信宿 xff0c 其实flume常见的信源信道信宿有很多 xff0c 这里介绍flume常用信源的三种方式 xf
  • flume自定义拦截器实现定制收集日志需求

    flume默认提供了timestamp host static regex等几种类型的拦截器 xff0c timestamp host static等拦截器 xff0c 其实就是在消息头中增加了时间戳 xff0c 主机名 xff0c 键值对
  • Eclipse开发mapreduce程序环境搭建

    Eclipse作为一个常用的java IDE xff0c 其使用程度虽然比不上idea那么强大 xff0c 但是对于习惯使用eclipse开发的人来说 xff0c 也不失为一个可以选择的IDE 对于喜欢eclipse开发的人来说 xff0c
  • hdfs常见操作java示例

    我们学习hadoop xff0c 最常见的编程是编写mapreduce程序 xff0c 但是 xff0c 有时候我们也会利用java程序做一些常见的hdfs操作 比如删除一个目录 xff0c 新建一个文件 xff0c 从本地上传一个文件到h
  • MapReduce编程开发之数据去重

    MapReduce就是一个利用分而治之的思想做计算的框架 xff0c 所谓分 xff0c 就是将数据打散 xff0c 分成可以计算的小份 xff0c 治就是将数据合并 xff0c 相同键的数据合并成一个集合 MapReduce并不能解决所有
  • MapReduce编程开发之求平均成绩

    MapReduce计算平均成绩是一个常见的算法 xff0c 本省思路很简单 xff0c 就是将每个人的成绩汇总 xff0c 然后做除法 xff0c 在map阶段 xff0c 是直接将姓名做key 分数作为value输出 在shuffle阶段
  • MapReduce编程开发之数据排序

    MapReduce的数据排序 xff0c 其实没有很复杂的实现 xff0c 默认在shuffle阶段 xff0c MapReduce就帮我们将数据排好序了 xff0c 我们在Map和Reduce阶段 xff0c 无需做额外的操作 MapRe
  • MapReduce编程开发之倒排索引

    倒排索引是词频统计的一个变种 xff0c 其实也是做一个词频统计 xff0c 不过这个词频统计需要加上文件的名称 倒排索引被广泛用来做全文检索 倒排索引最终的结果是一个单词在文件中出现的次数的集合 xff0c 以下面的数据为例 xff1a
  • ROS2学习笔记(五)-- ROS2命令行操作常用指令总结(一)

    简介 xff1a 在前面的章节中 xff0c 我们先简单学习了ROS2的话题发布和订阅 xff0c 两种操作都是通过python代码实现的 xff0c 而在实际应用过程中 xff0c 我们会经常用到命令行操作来辅助调试 xff0c 更进一步
  • 实例演示ElasticSearch索引查询term,match,match_phase,query_string之间的区别

    通常在面试elasticsearch中 xff0c 面试官会问一个关于查询的问题 xff0c 就是term查询和match查询有什么区别 xff1f 如果你对这两个查询不清楚 xff0c 面试官会认为你没有用过elasticsearch x
  • Elasticsearch使用update_by_query

    elasticsearch中有一个方法是批量修改 xff0c 就是先查询出需要修改的索引记录 xff0c 然后批量修改 这个本来没什么 xff0c 但是使用过的都知道 xff0c 用java来调用这个方法很别扭 一般来说 xff0c 我们使
  • C++中实现字符串分隔split方法

    C 43 43 中 xff0c 除了没有直接的求数组长度的方法外 xff0c 也没有直接对字符串分隔的方法 xff0c 需要我们自己来实现 xff0c 下面结合字符串分隔的问题 xff0c 做一个面试题 xff0c 面试题是这样的 xff0
  • c++编程实现简单mapreduce程序

    hadoop提供了java版本的mapreduce编程API xff0c 我们需要自定义编写mapper和reducer xff0c 分别继承Mapper和Reducer xff0c 然后重写map和reduce方法 同时需要在main方法
  • windows下安装MongoDB压缩版

    MongoDB在windows上一般提供msi的安装方式 xff0c 这种安装方式相对简单 xff0c 界面安装 xff0c 这里介绍解压缩版本的安装 xff0c 我们需要下载的是zip包 xff0c 然后解压 xff0c 这里下载之后 x
  • python3安装以及安装pip之后出现的问题

    python3在windows10上的安装 xff0c 为了省事 xff0c 直接下载的是python 3 7 4 embed adm64 zip免安装版本 xff0c 下载解压 xff0c 然后将python目录加入环境变量的path中
  • eclipse安装pydev插件开发python程序

    做Java开发的 xff0c 想学习python xff0c 可以不用安装别的pycharm IDE xff0c 我们直接通过在eclipse中安装一个python插件pydev即可 xff0c 前提是你的机器上已经安装了python xf
  • docker私有镜像服务搭建

    docker容器技术已经在部署服务上使用的非常普遍 xff0c 主要是它的隔离性以及快速启动的特性 xff0c 一般启动一个容器 xff0c 如果镜像不存在会先去dockerhub仓库下载 xff0c 然后存储在本地 xff0c 后续可以继
  • vs2017开发第一个desktop应用程序

    desktop应用程序也叫窗口程序 xff0c 我们平时在电脑上安装的APP xff0c 都是桌面程序 xff0c 比如QQ xff0c 各种播放器 xff0c 包括浏览器 桌面程序最主要的特点 xff0c 就是点击运行之后 xff0c 会
  • 量子编程入门第一篇环境搭建dotnet-sdk+Microsoft.Quantum.IQSharp+python3.6+qsharp

    量子编程已经提上日程 xff0c 微软提供了quantum开发工具包 Microsoft Quantum Development Kit简称QDK xff0c 在visual studio 2019环境下 xff0c 可以安装quantum