大家好,

因为网上很多慢,需要注册,或者在远程服务器上执行Python代码的编译器,我决定自己开发一个解决方案。

当教Book Python程序语言时,我发现大多数初学者会被Visual Studio Code(VS Code)感压力。作为教辅,我更喜欢分享一个单独的浏览器标签。打开我的幻灯片和局部终端来来往往打断我的授课。所以,我需要一个浏览器内的无干扰的编辑器。

所以,我开发了PyRun(pyrun.xyz)。它是一个基于WebAssembly的浏览器内Python 3.11 IDE。

开发过程中最困难的问题是我曾经用来开发:

  1. 写一个标准终端功能。    我需要使用SharedArrayBuffers来深度同步和暂停标准输入,以便交互式命令行脚本行为本地硬件终端的行为。
  2. 在无网络环境下创建PWA。  为了确保背景中的Service Workers准确缓存WebAssembly中的大型数据,我需要编写相对可靠的背景服务工作者。为了使整个Python运行时在飞机模式下仍能正常工作。

这一工具集搭配了大量的便利特性:

  • 在设备上即刻执行,100%隐私。
  • 内置Monaco编辑器(VS code引擎)。
  • 在需要时自动加载包(numpy、pandas、matplotlib)。

此外,还有实时图形渲染、carbon样式图像导出、zip项目下载和一键生成分享代码的URL,内置的交互式Python学习模块等。

对我开发这个项目起到重要帮助的大功于AI,以及感谢 Pyodide 团队为此研发出了核心的 WebAssembly 引擎。

这个项目没有任何账号需求,即为您免费。

我仍然在积极的编写和完善这个工具,我还请大家给点建议:

  • 我该开发哪些新的功能?
  • 我是否发现了任何奇怪的边缘状况或bug?
  • 该如何进一步优化使其更适用于您的工作流程?

如果您有任何建议请在评论中告诉我们。

链接: pyrun.xyz