Python 运行器

浏览器内跑 Python(Pyodide WASM 沙箱),代码不出本机

关于Python 运行器

Pyodide 把 CPython 编译成 WebAssembly,让完整的 Python 解释器跑在浏览器里。它支持标准库和一部分科学计算包(numpy、pandas 等),适合验证代码片段、教学演示、以及在无法安装环境的机器上做临时计算。代价是首次加载需要下载较大的运行时。

使用步骤

  1. 首次打开等待运行时下载(约 10MB,同会话内只加载一次)
  2. 在编辑器输入代码,需要第三方包时先 import 再自动安装
  3. 点击运行,stdout 与报错显示在下方输出区
  4. 处理数据时把 CSV/JSON 内容作为字符串粘进代码,沙箱读不了外部地址

常见错误

把沙箱当完整环境

没有文件系统、网络和部分 C 扩展。依赖 requests、socket 的代码在沙箱里跑不了,先确认代码只依赖纯 Python 部分。

首次加载误判为卡死

运行时下载期间页面无响应是正常的,等进度走完再操作;刷新会重新下载,耐心等一次即可。

大数据集直接硬编码

几万行的数据粘进代码字符串会让编辑器卡顿。先在外部做好抽样,沙箱里只验证逻辑。

常见问题

能访问本地文件或网络吗?

不能,这是沙箱的安全边界。需要外部数据时,请把内容粘贴进代码作为字符串常量。

为什么第一次运行特别慢?

需要下载约 10MB 的解释器运行时并初始化。同一次会话内后续运行几乎是瞬时的,刷新页面后需要重新加载。

能用 numpy、pandas 吗?

不能直接 import。默认环境只带标准库,numpy/pandas 要额外加载几十 MB 的 wheel,首屏代价太大。要做数据计算,用站内的「数值统计」和「CSV 数据体检」——它们背后是专门优化过的实现。

和本地装的 Python 版本一致吗?

不完全一致。这里跑的是编译成 WebAssembly 的 CPython,版本固定在某个主版本上,某些依赖 C 扩展、多线程、fork 的库无法工作。语法和标准库行为基本一致,平台相关的能力差异很大。

运行环境和代码会被保存吗?

不会。解释器加载在页面里,代码在你自己的标签页内存中执行,没有远端执行环节,刷新就没了。反过来说也别拿它当记事本——重要代码自己存好。

来源:基于开源 Pyodide (MPL-2.0) · License: MPL-2.0 · 分类:开发

相关阅读

← 返回 ToolHub 全部工具

✦ OPEN SOURCE TOOLS ✦

安全、快捷、开源工具及资源

无需安装、无需注册、无需命令行 —— 挑一个工具,填参数,出结果。

99 个工具 · 50 条资源 · 文件拖进来、内容粘进来都能用 · 无需注册
运行方式排序共 99 个
🔒 为什么本地执行更放心这一条是我们和多数工具站的根本区别
数据不出设备图片、Token、表格都在你的浏览器内处理,服务端不接触你的输入
没有账号体系不注册、不收邮箱、不做用户画像,收藏与记录只存在本机
可离线使用安装为桌面/手机应用后,断网也能运行全部本地工具