本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

在网页中运行和调试Python

我们很高兴地宣布实验性支持在网页上运行Python代码。要尝试一下,请从市场中安装实验性 - 用于网页的Python扩展的最新预发布版本。这项工作基于Python中的WASM,目前处于开发阶段。要了解更多有关其工作原理和正在进行的工作的信息,您可以阅读将Python编译为WebAssembly (WASM)

先决条件

使用此扩展需要以下前提条件:

  • 您需要安装 GitHub 仓库 扩展。
  • 您需要通过 GitHub 进行身份验证。
  • 您需要使用支持跨域隔离的浏览器。此扩展已在Microsoft Edge和Google Chrome浏览器上进行了测试。
  • 你需要使用内部版本的VS Code for the Web(例如https://insiders.vscode.dev/)
  • 您的源代码必须托管在本地文件系统或通过GitHub 仓库扩展访问的 GitHub 仓库中。
  • 当启动VS Code for the Web时,您需要在URL末尾添加以下查询参数:?vscode-coi=输入:.

运行 Hello World

下面的截图显示了在浏览器中执行一个简单的Python程序。该程序由两个文件组成app.py你好.py存储在本地文件系统上。

执行存储在本地磁盘上的Python代码

启动REPL

该扩展包含一个集成的 Python REPL。要激活它,请运行命令 Python WASM: 启动 REPL

启动 Python Repl

调试

支持在网页上调试Python文件,并且使用与VS Code桌面版相同的用户界面调试。当前支持的功能有:

  • 设置断点
  • 进入和退出函数
  • 模块间的调试
  • 在调试控制台中评估变量
  • 在集成终端中调试程序

下面的截图显示了一个活动的调试会话。这些文件直接托管在GitHub上的这个示例仓库

调试 Python 程序

创建你自己的 Python 环境

该扩展使用基于CPython WebAssembly 构建的预配置 Python 环境。使用的构建是Python-3.11.0-wasm32-wasi-16.zip输入:.

您可以按照以下步骤创建自己的 Python 环境,包括源轮 Python 软件包:

  • 创建一个新的 GitHub 仓库。

  • cpython-wasm-test/releases 下载一个 wasm-wasi-16 版本的文件并解压到仓库的根目录。

  • 要添加源轮包,请执行以下操作:

    • 创建一个站点包根目录中的文件夹。
    • 使用以下命令安装软件包pip install my_package --target ./site-packages注意,你需要在操作系统中安装Python并包含pip。
  • 提交更改。

  • 改变python.wasm.runtime设置指向您的GitHub仓库。例如:

    {
      "python.wasm.runtime": "https://github.com/dbaeumer/python-3.11.0"
    }
    

限制

Python 用于 Web 的支持并不提供在本地机器上运行源代码的所有功能。Python 解释器的主要限制是:

  • 不支持插座。
  • 没有线程支持。因此,没有异步支持。
  • 不支持pip。
  • 不支持原生的Python模块。

确认

没有Python社区的支持,这项工作是无法完成的,他们正在构建和维护CPython所需的WASM文件。

反馈

如果您在使用Python for the Web扩展时遇到问题,您可以将问题输入到vscode-python-web-wasm仓库中。