你当前正在访问 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 网站上执行的操作和不能执行的操作:

您可以: 您不能: 需要:
  • 联机运行 Q# 程序。
  • 在 Quantinuum H 系列模拟器中模拟程序。
  • 请 Copilot 解释量子计算概念或生成 Q# 程序。
  • 使用 Quantum Katas 中的教程了解量子编程。
  • 调试程序。
  • 保存程序和结果。
  • 选择任何量子计算提供程序。
  • 运行 Python 代码。
  • 管理量子作业。
  • 无需安装。
  • 无需 Azure 帐户。

    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 门户中执行的操作和不能执行的操作:

    您可以: 您不能: 需要:
    • 创建量子工作区。
    • 管理订阅和工作区。
    • 复制工作区的访问密钥。
    • 管理量子作业。
    • 在 Azure 笔记本中运行 Q# 和 Python 程序。
    • 保存程序和结果。
    • 选择任何量子计算提供程序。
    • 访问 Quantum Copilot。
    • 调试程序。
    • 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# 和 Python 程序。
    • 加载 Q# 示例。
    • 调试程序。
    • 保存程序和结果。
    • 选择任何量子计算提供程序。
    • 可视化量子线路图。
    • 创建并运行 Jupyter Notebook。
    • 出现编译器错误消息。
    • 使用资源估算器。
    • 访问 Quantum Copilot。
    • 管理订阅和工作区。
    • 管理量子作业。

    Q# 学习资源

    若要学习和探索 Q# 编程语言,请使用以下资源:

    • Azure Quantum 学习路径 如果你对量子计算感兴趣,但不知道从何处开始,请走此学习路径。 通过一系列交互式模块,你将了解量子计算以及如何使用 Q# 和 QDK 开发量子解决方案。
    • Quantum Katas 使用这些自定节奏教程同时学习量子计算和编程,每个教程都有相关的理论和 Q# 练习来测试知识。
    • Q# 代码示例 使用这些现成的 Q# 示例生成第一个量子解决方案。 它们涵盖四个方面:量子算法、资源估计、语言构造和 Jupyter Notebook。
    • QDK 操场 探索用 Q# 编写的常见量子算法。 操场托管在适用于 Web 的 VS Code 上,并预配置了 QDK,因此无需安装任何内容。