Pyodide的演示笔记本的屏幕截图
Mozilla 上周推出了Pyodide,这是一个开源实验,旨在创建一个完整的Python数据科学堆栈,该堆栈在Web浏览器之外运行。
Pyodide来自Iodide,这是另一个早期阶段的Mozilla项目,可以在不需要远程内核的情况下执行数据分析。
“遗憾的是,浏览器中的'我们都有'语言,JavaScript,没有成熟的数据科学库套件,而且缺少一些对数值计算有用的功能,例如运算符重载,”Mozilla数据工程师Michael Droettboom 在一篇博文中写道。“我们仍然认为有必要努力改变它并推动JavaScript数据科学生态系统的发展。与此同时,我们也采取了一条捷径:我们通过引入流行和成熟的Python科学堆栈来满足数据科学家的需求到浏览器。“
“尽管Pyodide并不完全新颖 - 像Transcrypt,Brython,Skulpt和PyPyJs这样的项目是将Python引入浏览器的几项努力之一 - 它不需要重写流行的科学计算工具(如NumPy,Pandas,Scipy和Matplotlib)实现了足够的性能,“VentureBeat 上周二报道。“它能够转换内置数据类型,从而实现浏览器API和其他JavaScript库之间的交互。”
Pyodide使用WebAssembly与已在浏览器中运行的JavaScript进行交互。Pyodide不是简单地将JavaScript命令转换为Python,而是创建代理,保留原始变量并根据需要返回它。所有JavaScript变量,甚至是自定义变量,都可以直接从Python调用。
在PyCon 2018的主题演讲中,Dan Callahan认为 Python无法在网络上工作对其作为编程语言的生存构成了威胁。Pyodide的创作者心中有这个警告。
“由于在网络或移动设备上发生了如此多的用户互动,[Python]需要在那里工作或被遗忘,”Droetboom写道。“因此,尽管Pyodide首先尝试满足Iodide的需求,但它本身也是有用的。” Pyodide的文档包括一个如何直接从JavaScript 和Iodide 使用它的部分。
如果您想亲自试用Pyodide,可以 到这里 试用一些演示笔记本中的更高级功能(50MB下载)。