在浏览器运行 Python
GitHub Pages 没有服务端运行环境,但可以通过 WebAssembly 把 Python 解释器加载到浏览器。下面的代码完全在当前页面执行,不会提交到服务器。
PYPython Playground
适用范围
这种方式适合算法演示、标准库练习和轻量数据处理。组件挂载后会异步下载解释器和默认依赖,因此首次进入时不会像本地 Python 一样立即可用。
默认环境包含 NumPy、Pandas、SciPy、Matplotlib、scikit-learn、XGBoost 和 LightGBM。页面上的多个运行器共享同一个 Python 运行时,避免重复初始化和下载。
不适合以下场景:
- 依赖操作系统进程、驱动或本地服务;
- 需要私有网络、数据库凭据或云端密钥;
- 超大数据集、长时间计算或完整后端应用。
在文章中使用
PythonPlayground 已注册为全局组件,可以在任意 Markdown 中提供默认代码:
html
<PythonPlayground
title="质数实验"
:code="`numbers = [n for n in range(2, 30) if all(n % d for d in range(2, int(n ** 0.5) + 1))]\nprint(numbers)`"
/>文章需要默认集合之外的 Pyodide 官方包时,可以通过 packages 显式声明:
html
<PythonPlayground
title="符号计算"
:packages="['sympy']"
:code="`import sympy as sp\nx = sp.symbols('x')\nprint(sp.diff(sp.sin(x), x))`"
/>可复现、需要长期维护的示例仍然应该作为 .py 文件进入仓库,并在持续集成中执行。