Python 在线运行
Python 在线运行工具,基于 Pyodide 在浏览器本地运行 Python 3 代码,无需安装环境,支持 print 输出、列表推导、json 等标准库,代码不上传服务器,秒级运行,完全免费
常见问题
代码会上传到服务器吗?
不会。基于 Pyodide 在浏览器里运行 Python,代码从头到尾不出你的设备,断网也能跑。这一点和大部分把代码发到后端执行的在线运行器不同。
首次运行为什么要等十几秒?
需要先下载并初始化 Python 运行时(约 10-30 秒,取决于网速),之后就一直缓存在浏览器里,再次运行是秒级的。
能 import numpy 或 pandas 吗?
取决于 Pyodide 预编译了哪些包。标准库可以直接用;部分科学计算包可用,其余第三方包无法安装。
关于这个工具
Python 由 Pyodide(编译成 WebAssembly 的 CPython)在浏览器里运行,代码不上传。首次要下载十几 MB 的运行时,之后走缓存,装好以后断网也能继续跑 —— 这一点和多数「在线运行」不同,那些是把代码发到服务器执行。
执行用的是 runPythonAsync,所以顶层可以直接写 await,不需要自己套事件循环。标准输出与标准错误合并按顺序显示,不会像本地终端那样分成两股。
没有标准输入:input() 在这里读不到数据(Pyodide 没有绑定 stdin),会直接抛错。要演示交互式程序,把输入写成代码里的常量或参数;确实需要 stdin 的场景用 C++ / Java / Go / Shell 那几个工具,它们有输入框。
第三方包只限于 Pyodide 预编译过的那部分:标准库完整,numpy、pandas 这类常见库多半可用,冷门包和需要自编译 C 扩展的包装不上。报 ModuleNotFoundError 基本都是这一类,不是你代码写错。