你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
运行 Q# 程序的不同方法
Azure Quantum 提供用于编写和运行量子程序的不同开发选项。 每个环境都使用 Quantum 开发工具包(QDK),这是一组开源工具,其中包括 Q# 编程语言。 有关详细信息,请参阅 Q# 简介。
在本文中,你将了解每个选项之间的差异,以及如何根据需要选择合适的选项。
用于运行 Q# 程序的选项
Azure Quantum 通过三个开发环境提供:
- Azure Quantum 网站: 使用 Copilot 在浏览器中编写、运行和解释 Q# 代码。 无需安装或 Azure 帐户。
- Azure 门户:管理 Azure 订阅和 Azure Quantum 工作区,可在 Jupyter Notebooks 中编写和运行 Q# 和 Python 程序。 无需安装。
- Visual Studio Code: 在本地环境中使用 Q# 作为独立程序或 Python 编写、运行和调试量子代码。 需要安装。
选择用于运行 Q# 程序的选项取决于编码体验、量子知识和目标。 由于每个选项都具有不同的特性和功能,因此通常将它们一起使用,例如使用 VS Code 中的 QDK 扩展编写 Q# 程序,同时管理Azure 门户中的量子工作区。 有关详细信息,请参阅下表:
Azure Quantum 网站 | Azure 门户 | Visual Studio Code | |
---|---|---|---|
内置 Q# 支持 | ✔ | ✔ | ✔* |
QPU 访问 | ✔ | ✔ | ✔ ** |
Jupyter Notebook | ✔ | ✔ | |
资源估算器 | ✔ | ✔ | |
Python 支持 | ✔ | ✔ | |
Cirq 和 Qiskit 支持 | ✔ | ✔ | |
集成混合 | ✔ | ||
本地设置 | ✔ | ||
量子工作区创建 | ✔ |
* VS Code 提供丰富的 Q# 支持,例如 CodeLens、IntelliSense 和调试。
** VS Code 中的 QPU 访问需要 Azure 订阅。
Azure Quantum 网站
在 Azure Quantum 网站上,可以在联机代码编辑器中运行 Q# 程序,无需安装或 Azure 帐户。 编写自己的 Q# 代码,浏览内置的 Q# 示例,或提示 Copilot 为你编写代码。
Azure Quantum 网站还包含来自量子专家和爱好者的博客、文章和视频。 Quantum Katas 通过有关量子计算和 Q# 基础知识的自定进度教程来加深知识。
有关详细信息,请参阅 Azure Quantum 中的探索 Copilot。
Azure Quantum 网站是否适合我?
Azure Quantum 网站允许在浏览器中运行 Q# 程序并访问各种学习资源。 如果你是一个希望通过这样做学习的量子爱好者,Azure Quantum 网站是适合你的。
下表显示了可以在 Azure Quantum 网站上执行的操作和不能执行的操作:
您可以: | 您不能: | 需要: |
---|---|---|
|
|
|
Azure 门户
Azure 门户是 Microsoft Azure 云计算平台的主要接口。 在门户中,可以创建一个 Azure Quantum 工作区 来运行量子程序,将其发送到 量子硬件提供程序,并将其结果存储在 Azure Quantum 存储帐户中。 还可以管理订阅、活动、信用额度使用情况、配额和访问控制。
提示
创建 Azure Quantum 工作区时,会自动为每个量子硬件提供商获取 500 美元的免费 Azure Quantum 信用额度 。 可以使用 Azure Quantum 信用将第一个量子程序提交到真正的量子硬件。
量子工作区包括 Azure Quantum 笔记本,它们是Azure 门户中基于 Web 的 Jupyter Notebook。 使用 Azure 笔记本在量子模拟器或硬件上创建、上传、存储和运行 Q# 和 Python 程序。 在量子工作区中,可以使用示例笔记本开始使用量子编程。
还可以使用 Azure 笔记本中的 Azure Quantum 资源估算器 来估算运行 Qiskit 和 QIR 程序所需的物理资源。 有关详细信息,请参阅Azure 门户中的“运行资源估算器”。
Azure 门户适合我吗?
在Azure 门户中,可以授予一组用户(如团队成员或学生)访问量子工作区的权限。 如果要管理订阅、查看发票或添加量子提供商,Azure 门户适合你。
下表显示了可以在Azure 门户中执行的操作和不能执行的操作:
您可以: | 您不能: | 需要: |
---|---|---|
|
|
|
Visual Studio Code
Visual Studio Code 是Microsoft的免费开源代码编辑器。 使用适用于 VS Code 的 QDK 扩展,可以创建 Q# 程序、加载内置的 Q# 示例,以及使用错误消息、语法突出显示、调试、线路图可视化、CodeLens 和 IntelliSense 等功能,所有这些功能都位于本地开发环境中。
还可以使用 Azure Quantum 资源估算器 来估算在量子计算机上运行 Q# 程序所需的物理资源。 资源估算器是 QDK 的一部分,因此不需要 Azure 订阅即可使用它。 有关详细信息,请参阅 在 Visual Studio Code 中运行资源估算器。
无需 Azure 帐户即可在 VS Code 中使用 QDK。 但是,如果有 Azure 帐户,则可以从 VS Code 连接到 Azure Quantum 工作区,并在所选提供程序的量子计算机和模拟器上运行 Q# 程序。
若要开始,请参阅 设置 Quantum 开发工具包。
注意
QDK 扩展也适用于 适用于 Web 的 VS Code,它提供与桌面版本相同的 Azure 连接和 Q# 语言功能。 但是,它不支持 Python、Qiskit 或 Cirq。
Q# 和 Python 的集成
在 VS Code 中,可以单独使用 Q# 或 Python,这需要 qsharp
Python azure-quantum
包。 若要安装这些包,请参阅 添加对 Python 和 Jupyter Notebook 的支持。
下表演示如何在 VS Code 中使用 Q# 和不使用 Python:
Format | 文件 | 说明 |
---|---|---|
Q# | .qs | 仅包含 Q# 代码的 Q# 程序。 |
Q# 和 Python | .qs 和 .py | Python 程序是一个主机程序,它在其例程中的某个时刻调用和使用 Q# 程序的结果。 这通常适用于复杂项目。 |
Jupyter 笔记本 | .ipynb | Python 内核支持代码和文本单元格。 默认情况下,代码单元使用 Python,但可以使用命令将其更改为 Q# %%qsharp 。 这意味着可以在一个文件中使用 Python 代码、Q# 代码和解释性文本。 有关详细信息,请参阅 %%qsharp 命令。 |
Visual Studio Code 是否适合我?
VS Code 是一个功能丰富的环境,包括 CodeLens 和 IntelliSense,用于编写、运行和调试量子程序。 如果你有编码体验并想要深入探索 Q# ,VS Code 适合你。
下表显示了 VS Code 中可以和无法执行的操作:
您可以: | 您不能: | 需要: |
---|---|---|
|
|
|
Q# 学习资源
若要学习和探索 Q# 编程语言,请使用以下资源:
- Azure Quantum 学习路径: 如果你对量子计算感兴趣,但不知道从何处开始,请走此学习路径。 通过一系列交互式模块,你将了解量子计算以及如何使用 Q# 和 QDK 开发量子解决方案。
- Quantum Katas: 使用这些自定节奏教程同时学习量子计算和编程,每个教程都有相关的理论和 Q# 练习来测试知识。
- Q# 代码示例: 使用这些现成的 Q# 示例生成第一个量子解决方案。 它们涵盖四个方面:量子算法、资源估计、语言构造和 Jupyter Notebook。
- QDK 操场: 探索用 Q# 编写的常见量子算法。 操场托管在适用于 Web 的 VS Code 上,并预配置了 QDK,因此无需安装任何内容。