Pyodide:在浏览器和Node.js中运行Python代码

文摘   2024-12-29 14:34   湖南  

何为Pyodide?

Pyodide是CPython的WebAssembly/Emscripten移植版本,允许开发者在浏览器和Node.js环境中运行Python代码。它的诞生消除了在Web环境中无法直接使用Python的障碍。通过Pyodide,开发人员可以利用Python丰富的生态系统,将数据分析、科学计算等功能直接集成到网页中。

Pyodide的强大功能

  1. 1. 包管理支持
    Pyodide内置了micropip包管理功能,便于用户在浏览器中安装和运行Python包。只要是PyPi上提供wheel包的纯Python包,都可通过Pyodide进行安装和使用。此外,众多C扩展包(如NumPy、pandas、Matplotlib等)也已被移植至Pyodide。

  2. 2. 无缝的语言互操作性
    Pyodide提供了强大的JavaScript与Python之间的外部函数接口,使得开发者能够在代码中灵活混合使用这两种语言。该接口支持错误处理、async/await,极大地减小了两者之间的摩擦,使得Python的使用体验更加流畅。

  3. 3. 访问Web API
    在浏览器中运行时,Python具备对Web API的完全访问权限,这使得开发者能够轻松地利用现代网页特性来增强Python应用。

如何开始使用Pyodide

如果你渴望体验Pyodide,以下是几种不同的开始方式:

  • • 使用托管的Pyodide发行版:通过访问官方文档,你可以轻松上手。

  • • 下载Pyodide版本:从发布页面下载适合的Pyodide版本并在本地搭建你的Web服务器。

  • • 从源代码构建:适合想要深入参与项目的开发者,可以使用make指令在Linux环境中构建。

  • • 利用Docker镜像:Windows和macOS用户超推荐的选择,简化了依赖关系的安装过程。

Pyodide的代码示例

在开始使用Pyodide之前,你需要复制并粘贴以下完整的HTML代码示例,这将构建一个基本的Pyodide测试页面:

<!doctype html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/pyodide/v0.26.4/full/pyodide.js"></script>
</head>
<body>
    Pyodide test page <br>
    Open your browser console to see Pyodide output
<script type="text/javascript">
      asyncfunctionmain(){
let pyodide =awaitloadPyodide();
console.log(pyodide.runPython(`
            import sys
            sys.version
        `
));
        pyodide.runPython("print(1 + 2)");
}
main();
    
</script>
</body>
</html>

运行Python代码

在这个示例中,pyodide.runPython()函数用于执行给定的字符串形式的Python代码。举个例子,如果你的Python代码以表达式结尾,该函数会返回结果并将其转为JavaScript对象。通过简单的调用,你将轻松获得Python版本字符串或进行计算。

小结

Pyodide作为一款面向Web的Python发行版,不仅仅是一个工具,更是将Python程序员的梦想带入现实。其便捷的包管理、无缝的语言互操作性以及对Web API的访问能力,使得开发者能够在现代浏览器中体验Python的乐趣。全新技术的崛起让我们不再束缚于传统的开发方式,Pyodide为我们的创作之路打开了一扇全新的大门。

项目地址:https://github.com/pyodide/pyodide


小白这样学Python
专注Python编程开发知识分享!
 最新文章