pyscript:可在浏览器HTML中使用Python


Anaconda的联合创始人兼CEO Peter Wong在PyCon US上分享了一个名为PyScript的新开源项目。这个项目的目标是在HTML文件中使用Python!
这对于一般的Python开发,特别是ML从业者来说是一个游戏规则的改变。

Peter进行了现场编码并展示了PyScript的一些能力:他从一个基本的 "hello world "例子开始,或者更好的是 "hello PyCon",然后很快就展示了在浏览器上运行的更高级的应用,这些应用是用Python写的,用HTML包装的!

第一个应用是一个超级马里奥游戏,他用Python编写的计算机视觉包用手势控制玩家。

第二个是一个曼哈顿出租车旅行的交互式仪表盘(基于matplotlib),他还在Python脚本中使用了一个Javascript包(D3)!

特点:

  • 浏览器中的Python:实现落地内容、外部文件托管(由Pyodide项目实现,谢谢!),以及应用程序托管,而无需依赖服务器端的配置
  • Python 生态系统:运行许多流行的Python包和科学堆栈(如numpy、pandas、scikit-learn等)。
  • Python与JavaScript:在Python和Javascript对象和命名空间之间进行双向通信
  • 环境管理:允许用户定义要包括哪些包和文件,以便页面代码的运行
  • 可视化应用开发:使用现成的策划UI组件,如按钮、容器、文本框等
  • 灵活的框架:一个灵活的框架,可以利用它来直接在Python中创建和分享新的可插拔和可扩展的组件

这是一个重要的里程碑,特别是在机器学习项目的流动性方面,以及在一般的基于Python的应用程序方面。

问题:
1、能用 python 操作 dom 吗?
它在 WASM 中运行,因此与 WASM 一样,操作 DOM 的唯一方法是传入一个 JS 函数。

2、似乎与 brython ( https://brython.info/ ) 非常相似。很有趣

3、要么将 Python 转换为 JS,要么死在重新发明 Jupyter Notebooks 上。JupyterLab 已经被移植到与 Pyolite 一起工作

4、除了在浏览器上玩MNIST之外,我认为PyScript与机器学习的关系不大--忽略了目前它甚至不能用于在CUDA上训练模型的事实。
总而言之,我想它对某些人来说似乎很有用,但对DL来说,我根本看不出有什么意义....。