分享一个在浏览器里直接运行 Python 的小项目(使用 WebAssembly , WASM,无后端,纯静态)

2025 年 6 月 19 日
 huangsen365

大家好,

最近我折腾了一个小应用,想和大家分享,同时也欢迎对 WebAssembly WASM 或前端运行 Python 感兴趣的朋友一起交流。

项目地址: https://github.com/huangsen365/python-wasm-demo

项目背景

在 AI 大潮下,越来越多人多少都会接触到一点编程,Python 又是最容易入门的语言之一。但很多初学者在安装环境这一步就容易被劝退。于是我想到把 Python 运行时搬到浏览器里,省去安装过程,在任何地方都能随时练手。

项目基于 Pyodide ,将 Python 编译成 WebAssembly ,在浏览器端执行。整个应用是纯静态页面,不需要任何后端服务器。只要打开网页,就可以马上写 Python 代码并运行。

体验地址

特性

使用方式

  1. 打开在线 IDE ,右侧代码区就是编辑器。可以新建文件或打开已有示例文件。
  2. 点击 "Run" 或在终端内输入 python 文件名.py 直接运行,输出会显示在下方终端区域。
  3. 纯静态部署,自己下载后直接用任何静态服务器(甚至 file://)都能访问。也可以基于 Docker 镜像部署,在 README 中提供了示例。

未来计划

项目目前还比较简单,但希望能让更多想入门 Python 或对 WebAssembly WASM 感兴趣的朋友快速体验,欢迎大家提出建议或参与贡献。也欢迎在 V2EX 或仓库 Issues 区讨论,让我们一起探索在浏览器里跑 Python 的更多可能性。

3602 次点击
所在节点    Python
10 条回复
xiangpeng
2025 年 6 月 19 日
terminal 无法滚动显示后面的内容
jackOff
2025 年 6 月 19 日
建议往 uniapp 方向发展,这样子 python 也可以无脑简单开发安卓应用了
yangg
2025 年 6 月 19 日
现在还不支持加载库吗?
julyclyde
2025 年 6 月 19 日
@yangg 浏览器没有文件系统啊,从哪儿加载?
vfs
2025 年 6 月 19 日
大兄弟, 不好意思啊, 刚刚在你的 demo 页面写了个 while true, 页面直接卡死了
rustIsBest
2025 年 6 月 19 日
老哥,WASM 部分有开源计划吗
subframe75361
2025 年 6 月 19 日
@rustIsBest 直接搜 pyodide
512357301
2025 年 6 月 19 日
@vfs 其实只是你本地卡死了,压根儿不影响服务器端的。你看到的界面都是在本地生成的,交互也是虚拟出来的。等于是内嵌了一个微型操作系统。
awsl2333
2025 年 6 月 20 日
pyodide 挺难用的,很多库不兼容,不过你这种纯学习语法还不错,或者做成面试 IDE 挺好的
huangsen365
2025 年 6 月 22 日
@xiangpeng 感谢反馈~~~ 经过多次使用 https://claude.ai/ 的沟通反馈交流结合 Claude Code 把这个头痛的 bug 修复了。。之前简单的重复一直喊 Claude Code 和 Codex 去修复都没效果。。。后来只能间接的用一个引导的方法不断让 Claude 提供修复思路。。现在弄好了,感觉找到了 Vibe Coding 的真谛。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1139565

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX