在网页中运行和调试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存储在本地文件系统上。

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

调试
支持在网页上调试Python文件,并且使用与VS Code桌面版相同的用户界面调试。当前支持的功能有:
- 设置断点
- 进入和退出函数
- 模块间的调试
- 在调试控制台中评估变量
- 在集成终端中调试程序
下面的截图显示了一个活动的调试会话。这些文件直接托管在GitHub上的这个示例仓库。

创建你自己的 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仓库中。