浏览器可以运行 Python 代码了?
共 2762字,需浏览 6分钟
·
2022-05-12 22:54
PyScript[1] 是 Anaconda 团队开发的一个 Javascipt 库,可以在 HTML 标签里嵌入 Python 代码,无需服务端就可以运行 Python 代码。
比如说,我们用 Python 在页面上显示日期,先编写一个 hello_world.html 文件,内容如下:
用浏览器打开,其运行效果就是这样的:
PyScript 目前构建在 Pyodide上,Pyodide 是 CPython 到 WebAssembly/Emscripten 的端口。
PyScript 支持在浏览器中编写和运行 Python 代码,并将在未来为其他语言提供支持。
你可能想知道,什么是 WebAssembly?以下来自维基百科:
WebAssembly(简称 wasm)是一个实验性的低级编程语言,应用于浏览器内的客户端。WebAssembly 是便携式的抽象语法树,被设计来提供比 JavaScript 更快的编译及执行。WebAssembly 让开发者能运用自己熟悉的编程语言(最初以C/C++作为实现目标)编译,再藉虚拟机引擎在浏览器内执行。
WebAssembly 的开发团队分别来自 Mozilla、Google、Microsoft、Apple,代表着四大网络浏览器 Firefox、Chrome、Microsoft Edge、Safari。2017 年 11 月,以上四个浏览器都开始实验性的支持 WebAssembly。
WebAssembly 于 2019 年 12 月 5 日成为万维网联盟(W3C)的推荐,与 HTML,CSS 和 JavaScript 一起,成为 Web 的第四种语言。
PyScript 带来的便捷
1、PyScript 使更多的前端开发人员能够使用 Python。
2、更低的编程门槛。因为几乎每个人都可以访问网页浏览器,无论是在计算机上还是在手机上。这意味着不需要安装任何额外软件就可以开始编程。
3、有了 PyScript,不再需要担心部署。PyScript 提供了“超越云端的架构转变”,一切都会网页浏览器中发生。
如何使用 PyScript
PyScript 使用以下三个主要组件在 html 中编写 Python:
py-env 定义了运行 Python 代码所需的包。 py-script 是在网页中编写 Python 代码的地方。 py-repl 创建一个 REPL(读取-评估-打印循环)组件,用于评估用户输入的代码并显示结果。
比如代码 todo.html[2] 中的两个标签
执行效果:
再来看一个 repl[3] 的例子:
执行效果:
更多例子请访问这里[4]。
如何运行这些 demo ?
git clone https://github.com/pyscript/pyscript.git
cd pyscript
npm install
npm run dev
然后浏览器访问 http://localhost:8080
,就会看到这个界面:
PyScript 的未来
PyScript 将 Python 带到浏览器中,我们觉得还是非常有价值的,对这项技术创新充满期待,目前 GitHub 2.7K 的星,如果你也感兴趣,不妨用它来做一个网站。
参考资料
PyScript: https://github.com/pyscript/pyscript
[2]todo.html: https://github.com/pyscript/pyscript/blob/main/pyscriptjs/examples/todo.html
[3]repl: https://github.com/pyscript/pyscript/blob/main/pyscriptjs/examples/repl.html
[4]这里: https://github.com/pyscript/pyscript/tree/main/pyscriptjs/examples
这是我开发的机器人公众号小号,目前增加了天气查询,955公司名单,关注时间查询;后面还会增加图片功能和每日送书抽奖送书活动,以及调戏功能,欢迎来体验,捧场。
一个机器人公众号已经上线,欢迎调戏
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
点阅读原文,看B站我的视频!