打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Anaconda 发布 PyScript:在网页中嵌入 Python 代码

原创 21CTO 21CTO 2022-05-06 17:03

收录于合集

#anaconda1
#数据科学1
#python1

导读:PyScript 是一种在嵌入 HTML,在浏览器中运行 Python 的方法,上周末在美国盐湖城的 PyCon  会议中进行了预览展示。

五一前夕,数据科学与分析公司 Anaconda 的首席执行官 Peter Wang 发表了主题演讲,展示了他们刚刚发布的项目,它的名字叫做:“PyScript”。

Nvidia 的机器学习工程师 Bojan Tunguz指出:“这是我们 Python 社区中的许多人长期以来一直希望干的事情。”

前几天该项目网站中还有一个“Install”按钮,如果不是为了占位置,也可能是一个玩笑,因为PyScript并不需要安装。后来Anaconda 以讯雷不及掩耳盗铃之势调整成了“Contribute”(贡献)。

PyScript 依赖于目前的Pyodide项目,后者是 CPython(Python 的参考实现)到 WebAssembly 的一个端口。Pyodide 0.20.0 是在上个月发布,它支持 Python 3.10。

PyScript不是第一个可以在浏览器中运行 Python的工具,但 PyScript 宣称使这一切变得更容易、更自然。

开发者只要在HTML中链接 PyScript css 和相关 JavaScript 库文件,开用 <py-script> 标记嵌入 Python 代码,并提供一个 <py-repl>(读取、评估、打印、循环)组件,使 Python 能够被调入并动态执行。

以下是 PyScript 的一个示例代码,供赏析:

<!DOCTYPE html><html>
<head>  <title>Example</title> <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" /> <script defer src="https://pyscript.net/alpha/pyscript.js"></script></head>
<body>
<div id="msg">Loading page ...</div> <br>
<py-script>import jsfrom js import documentfrom pyodide.http import pyfetchimport asyncio
async def load_code_from_url(url): try: msg = document.getElementById("msg")
response = await pyfetch(url)
content = (await response.bytes()).decode('utf-8')
if response.status == 200: msg.innerHTML = 'Python loaded' return content else: msg = document.getElementById("msg") msg.innerHTML = response.status return False except Exception as e: msg = document.getElementById("msg") msg.innerHTML = str(e) return False
url = 'example_2.py'
mycode = await load_code_from_url(url)
exec(mycode) </py-script></body></html>

PyScript 项目治理包括“让 99% 人会编程”的使命宣言,还有一个实体——PyScript指导委员会。该项目目前已经吸纳了3名成员,他们目前都是为 Anaconda 工作的专家。

PyScript 是使用 Apache 2.0 许可证的开源软件。

根据PyScript项目网站描述,目标包括在浏览器中启用 Python 而无需服务器端配置、运行流行的 Python 包、JavaScript 和 Python 之间的双向通信,以及使用“现成可用的精选 UI 组件(如按钮、容器、文本框等等)。”

当具有了这些灵活性,PyScript 相信浏览器将是一个很棒的平台,能够为 PyScript 用户提供可靠、可访问和有趣的用户体验和目标。因为浏览器适用于任何地方(从笔记本电脑、平板电脑到手机),并且安全、强大且稳定。

它是实现 PyScript 目标的完美起点:

  • 提供干净简单的 API

  • 支持标准 HTML

  • 扩展 HTML 支持读取可靠的自定义组件

  • 提供可插拔、可扩展的插件系统

目前在很多方面,Python 已经是最流行的编程语言。去年 IEEE Spectrum宣布它是“事实上的新技术平台”,在 RedMonk 的语言排名中仅次于 JavaScript。

Python在机器学习、统计分析方面处于领先地位,并且也是一种不断进步的编程语言。

让浏览器更易于使用不仅会让开发数据分析应用程序的科学家们感到高兴,也会让正在寻找 JavaScript 替代方案的程序员们感到兴奋。

PyScript项目开发人员警告说它还是“一个非常实验性的项目”,目前仍在alpha测试阶段,目前它只能在Chrome 浏览器上测试使用,感兴趣开发者们可以从pyscript.net下载先尝尝鲜。

作者:helloworld

确定

  • 不看此公众号

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PyScript:让 Python 在 Web 中跑起来
越来越强!在 HTML 中也能运行 Python
建议收藏!分享一个2022年火遍全网的Python框架
PyScript 入门教程 2022
pytest文档57-单元测试代码覆盖率(pytest-cov)
python server 从浏览器中获取输入(web.py)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服