LWN:介绍 PyScript!

PyScript:允许你在浏览器中直接运行Python代码,无需任何后端服务器支持 PyScript是一个基于浏览器的开源Python平台,它使用Pyodide(CPython的一个版本)、MicroPython、WASM和现代Web技术,使在浏览器中创建丰富的Python应用程序成为可能。PyScript支持许多常用的Python库,例如NumPy、Pandas、Matplotlib等,这使得开发者可以使用熟悉的工具和库来构建复杂的应用程序。你无需配置复杂的服务器端环境,只需在HTML文件中嵌入PyScript的标签,就可以直接编写和运行Python代码,并直接在网页上查看结果。 阅读详情

关注了就能看到更多这么棒的文章哦~

Introducing PyScript

By Jake Edge
June 22, 2022
PyCon
DeepL assisted translation
https://lwn.net/Articles/898452/

在犹他州盐湖城举行的 PyCon 2022 的主题演讲中,Peter Wang 介绍了浏览器内 Python 解释器领域的另一个解决方案。长期以来,Python 社区一直在寻求一种方法,使 Python 来替代 JavaScript 在 Web 浏览器中运行,而且多年来一直有各方的人在做这方面的努力。Wang 介绍的 PyScript 是一个新的框架,其建立在之前这些项目的基础上,允许 Python 脚本直接在浏览器中运行;这些程序可以使用到大部分现有的 Python 生态系统,并能够直接与浏览器的文档对象模型(DOM)进行交互。此外,作为演讲的一部分,他还做了一些令人相当大开眼界的演示。

dbf1e8d71e5af26d5b90a99bd16f0953.png

[Peter Wang]

Wang 首先介绍了他自己和他经营的公司 Anaconda,该公司是他在十年前与 Travis Oliphant 共同创立的。Oliphant 是 NumPy 的创造者,也是 SciPy 的创始人之一,这两者都是 Python 科学计算生态系统的基石。Anaconda 创造了多种工具,在社区中被广泛使用,同时还创立了 NumFOCUS 非营利组织和 PyData 会议。

他和 Oliphant 选择将他们的精力集中投入在 Python 上的原因有很多,例如这种语言是平易近人的,即使是那些缺乏计算机科学背景的人也容易上手。另一个有利因素是,Python 社区通常很受欢迎,工作起来也很愉快。如果你想继续扩大用户群,这是一个 "真正的决定性因素"。

但从他的角度来看,该语言如此受欢迎还有另一个原因:它可以通过二进制扩展,使用 C 语言编写的 API,但可以从其他语言访问。他把 Python 比作 "一辆可以用螺钉来装上曲率驱动引擎(warp drive)的本田思域"。因此,这种语言可以被孩子们接受,然后他们可以打开后备箱,"挂上曲率驱动引擎",Wang 认为在某些情况下可以让代码运行得比 C 或 C++更快。

这一点有时会被人们忽视,但它意味着 Python 的使用方式是其他类似语言无法比拟的。"它不只是像 Node 一样,它不只是 Ruby 的替代品"。他说,Python 在 10 年或 15 年前被华尔街公司选中的原因就是因为这种添加曲率引擎的能力。

What sucks

他说:"在这里,在朋友之间",我们也可以讨论一下这种语言的糟糕之处。尽管 Anaconda 是提供 Python 发行版的公司,但他 "可能是第一个大声说" 安装完所有 Python 运行所需的一切内容实在是太难了。在 Python 软件包索引(PyPI)上有大量的软件包,但让它们能配合起来工作是很困难的。他说,有很多不同的工具来帮助解决这个问题,但是所有的工具都只做到了 80% 左右,所以人们在 20%的时间里有不好的体验,这 "不是很好"。

奇怪的是,对于世界上最流行的语言(报道说 Python 是这样的地位),却很难编写和发布具有用户界面的应用程序。例如,你不能用 Python 编写 iOS 应用程序。他说,你不能为 Windows 这个最受欢迎的企业版桌面环境创建一个具有用户界面的应用程序;即使你使用网络前端,你也必须编写 JavaScript、CSS 和 HTML。你不能轻易用 Python 做到这些,这 "有点奇怪",但同时也 "有点意思"。

同时,在打包或者构建用户界面上面的这两方面的困难,使得我们很难与他人分享我们的工作,他说。对于那些将 Docker 作为解决方案的人,他说,当你用 Docker 打包一个应用程序时,你是在 "压缩一个硬盘并把它发布给别人"。这 "不应该是我们让数百万人使用这些东西的主流方式"。

在很大程度上,Python 是其自身成功的受害者。它是一种优秀的胶水语言,但这意味着它被所有这些东西粘住了。他说,我们在计算方面所做的很多事情都与 20 世纪 70 年代和 80 年代的想法和架构联系在一起,从 C 语言和 Unix 进程模型开始;这也包括工具链和 TCP/IP 等互联网协议。

他说,Python 语言的基础知识可以在一个周末教给任何人,但要让他们达到能够为 Windows 创建可执行文件或为 iPad 创建 iOS 应用程序的程度,则需要付出更大的努力。"我们能不能把 Python 从这一切中解脱出来?"

Enter WebAssembly

Wang 认为,网络浏览器显然已经赢得了操作系统的战争。他不知道 2022 年是否会成为 Linux 桌面的一年,[不会的。。。] 但他确实知道桌面环境上会有很多浏览器。在一些语言流行度调查中,JavaScript 是最强者,因为它是浏览器的原生语言。他说,因此,如果我们想进入这个领域,WebAssembly(也就是 Wasm)显然是正确的答案。

WebAssembly "从根本上改变了玩法"。它是一个虚拟的 CPU 指令集,最近成为了 W3C 标准;它有一个 32 位的地址空间,可以做 64 位的运算。有一个编译工具,Emscripten,可以用来将大多数 C 和 C++代码编译成 WebAssembly,然后可以在浏览器中运行。WebAssembly 得到了浏览器的良好支持,包括手机上的移动浏览器,Wang 说。

CPython 毕竟是一个 C 语言程序,Python 数值计算软件栈的大部分内容都是用 C 或 C++编写的。在过去的几年里,像 Pyodide(LWN 在一年多以前介绍过)和 JupyterLite 这样的项目一直在试着把 Python 科学和数值计算软件栈的大部分内容都改得适合 WebAssembly。

如果你去 Pyodide 网站,你可以在你的浏览器中得到一个 Python read-eval-print loop(REPL)。从我们熟悉的"三个可爱的> 符号" 界面,你可以 import NumPy 和 pandas。在 JupyterLite 网站,你可以在浏览器中得到一个 notebook,能实现在你的本地系统上运行全部 JupyterLab 的功能。

Python 的核心开发者 Christian Heimes 在让 CPython 与 WebAssembly 一起工作方面做了大量的工作,并且一直在做介绍和推广。它将很快成为 CPython 的二级(tier-2)支持平台,Wang 说。WebAssembly 只是提供了 x86、Arm 和其他计算机架构之外的另一种计算机架构,CPython 项目是面向这些架构的。

PyScript

因此他和 Anaconda 的同事一起在了解当前已经有哪些工作已经完成了,思考后续如何可以让其被 "更多更多的人" 真的可以用起来。最终,他宣布了 PyScript, 不过他的宣布方式是在演讲台上现场写了一个 "hello world" 的 demo 程序。这是他第一次在 PyCon 上做 keynote 主题演讲,“没准也是最后一次”,他一边笑着说,一边写了一个用来从 pyscript.net 加载 pyscript.js 文件(使用了<script> tag)的简短的 HTML 文件,这个文件主题内容很简单:

<py-script>
    print("Hello PyCon 2022!")
</py-script>

接下来他双击此文件,在浏览器就出现了这句问候语,这时台下就有了一轮掌声。不过他说,这还仅仅是 HTML,接下来他把这段代码用 <blink> tag 括了起来,然后重新加载了这个页面。不过,目前这个 <blink> tag 已经不再被 HTML 所支持了,很可惜。他说:“现在我不得不给孩子们解释一下现在已经没有 <blink> tag ”了。

接下来他就对这个 PyScript 代码添加 blinking 功能,并且顺便演示了其他一些功能。他创建了一个有名称的 <div> 文件,后续用来访问 DOM 来获取这个 <div> 对象。同时他也使用 asyncio module 来 sleep 了一秒钟,之后就清除了 <div> 区域,然后把所有内容放到了一个无限循环里面。这一切完成得非常完美,他笑着说:“W3C 不再让你使用的功能,PyScript 可以帮你完成”

所以 PyScript 是一个 "在浏览器中创建丰富的 Python 应用程序的框架"。它允许 Python 和 HTML 交错使用,提供对 DOM 的完全访问,并使代码能够访问 JavaScript 库。这是双向进行的。Python 代码可以调用 JavaScript,也可以从 JavaScript 中被调用。因此,所有的应用逻辑和代码都可以用同一种语言了,在浏览器中运行就行,不需要在网络服务器上运行了。你可以把 HTML 文件放在一个 U 盘上,然后交给你的朋友。当然有必要下载 PyScript 本身,但这是在 HTML 文件中使用<script>标签就可以完成的。

PyScript 不是 CPython 的某个 fork 版本,它与与会者在笔记本电脑和服务器上运行的代码相同,Wang 说,只是编译的时候改为了针对 Wasm。它包括了 Pyodide 为了让主要的数值计算、科学和大数据包也能在 Wasm 上运行而做的所有工作。PyScript 是一个 "有意见的框架(opinionated framework)",它提供了一个外部函数接口(FFI)来与 JavaScript 和 DOM 对话;Python 已经包装了 C、C++和 Fortran,所以 JavaScript 也可以被加入到这个列表中。"这是真正的无服务器(serverless)计算"。

More demos

他还做了其他一些小演示,其中许多来自 PyScript 的 example 页面。他从一个 REPL 开始,在输入 print()调用显示<iframe>HTML 标签之前,输入了几个简单的 Python 语句,接着在浏览器窗口中播放了一段视频。他说:"这是我忽悠人时观众人数最多的一次",引来了笑声和掌声。

他还展示了一个简单的待办事项应用程序,并对代码进行了一番探究。该 HTML 文件有一些模板(boilerplate),然后设置了文本输入框和 "添加任务" 按钮。该按钮有一个 PyScript 特有的 pys-onClick 属性,它有一个 Python 函数的名字,当按钮被点击时会被调用。为方便起见,Python 代码放在了一个单独的包含了该函数的 todo.py 文件中。

应用程序本身允许向 todo list 中添加事项,这也会在它们旁边放一个复选框。当复选框被点击时,列表中的条目也会被加上一条删除线。所有这些都可以在 Python 中通过操作 DOM 来很容易地实现,正如在代码中可以看到的那样。

PyScript 的 JavaScript 和 CSS 文件可以从本地或从 pyscript.net 加载。来自 Python 的输出可以被 route 到不同的地方,这意味着 stdout 和 stderr 可以放 page 的不同位置,就像在 REPL2 例子中做的那样(注意需要使用 shift-enter 来执行的,就像在 Jupyter 和其他地方一样)。由于所有的 Python 都被加载,更复杂的应用程序可以直接在浏览器中运行,而不需要安装。

他还展示了这个交互式 demo;请注意,它的加载和运行时间比先前的演示要长。他说,它的代码在 HTML <head>部分显示了一堆东西,这些东西最终会被清理掉,但核心代码只是标准的 Python 数据处理代码,使用 pandas,scikit-learn 来执行 k-means clustering,使用了 Panel 来创建一个仪表盘,等等。他重申,这个文件可以直接交给同事,让他们在自己的系统上运行–尽管在收集和初始化所有部件的过程中会消耗一定时间。

除此之外,还有很多有用的 JavaScript 库可用,例如 "强大的可视化系统", deck.gl。他展示了一个 PyScript 的例子,使用 deck.gl 和用 Panel 创建的仪表盘显示纽约市出租车数据集的数据(见下图)。它显示了曼哈顿岛的三维柱状图,六边形中的高度代表了该城市该地区的上下车数量。可以可视化的旋转、缩放和随时间变化的动画;此外,bin size 可以改变,从而增加或减少地理颗粒度,点击一个点可以显示实际的行程细节。所有这些都是在浏览器中使用 Python 和 JavaScript 完成的。

16867c3cb5be341e5e4923cc9cc437d9.png

[出租车数据演示]

但该演示的界面中也有 Python REPL,它可以更直接地访问数据。pandas 数据框架可以通过 df 来访问到,数据可以根据各种标准进行过滤,比如 "小于 5 英里的行程"(在 Python 中),然后反映在显示中,可以像平常一样进行交互。同样,HTML 文件就是运行它所需要的全部内容了。PyScript 为 Python 一直以来的难题提供了一个 "戏剧性的简化":将应用程序捆绑起来并分发给用户。

他说,Python 从来都不是要重新实现这个世界;相反,Python 把现有的工具和库捆绑在一起。因此,PyScript 的一名开发人员在两天内就为 "数据驱动文档(data-driven documents)" 建立了一个围绕 D3.js 库的包装。"很多 Python 数据科学家对 D3 期待已久了"。

Python 还可以使用 PyScript 来作为多个 JavaScript 库之间的连接渠道。他把一个 JavaScript 马里奥游戏和一个 JavaScript 手势识别库混在一起,所以他的游戏在浏览器中运行,同时还从他的笔记本电脑的摄像头中分析出了手势。例如,通过分开他的手,就可以让马里奥跳起来。

他展示了代码,其中有大量的 JavaScript 需要加载,来支持游戏以及手势识别库。但应用程序的核心是 HTML 文件中的 Python。它从手势识别库中获取返回信息,来确定这应该让马里奥如何移动,接下来将其传递给游戏。因此,Python 被用来将两个 JavaScript 库绑定在一起,以进行 "实时摄像头视频识别来玩游戏"。所有这些都是 "非常酷的"。

The future

"最容易使用的网络语言应该是我们已经喜爱和熟悉的语言;让我们实现这一目标"。不过,除此之外,传统的网络应用是很复杂的,不仅仅是因为 JavaScript 是 "一种可怕的语言"(尽管他愿意在喝啤酒时讨论这一论断),而是因为现有的架构将应用状态分割在客户端和服务器之间。目前的网络开发环境是一个工具、语言、框架等的大杂烩,"比我认为的要复杂得多"。

这种复杂性也意味着客户端要向服务器发送大量的信息;在 20 世纪 80 年代或 90 年代,这些信息都会保留在客户端的应用程序本身里面。向服务器发送所有这些信息是 "现代技术中许多罪恶的根源"。他想知道在浏览器中使用 PyScript 是否可以消除以这种与服务器对话的必要性,尽管仍然需要访问数据库等等;这些东西都需要弄清楚,他说。但这样做也许可以 "带来一个没有 NFTs 的 Web 3 版本"。他说,这将允许建立 "合理的 client-server " 架构的应用程序,这个观点赢得了掌声。

Wang 说,仍然有大量的工作要做。这包括打包所有的 JavaScript 库并使其 "更酷",可能添加对 Julia 或 R 等其他语言的支持,以及更多其他工作。还有很多有趣的问题需要解决,比如什么是 React 最漂亮的本地绑定实现,或者如何在 JavaScript 和 Python 之间来回传输内存才更有效率。PyScript 项目正在寻找更多的开发者来合作解决这些问题和未来的其他问题。

还有其他用 C 和 C++编写的 Python 实现,可以编译为 Wasm。由于许多 CPython 扩展已经支持构建为 Wasm 应用,这有可能为其他 Python 实现提供公平的竞争环境,其中大多数都不能使用基于 C 的扩展。这个巨大的扩展生态系统是使替代方案采用率低的部分原因,但这可能会改变。

确实有大量的项目,但社区需要对如何对他们进行开发先深思熟虑。需要考虑的是,有可能会使开发者感到疲惫。但 Wang 认为,大多数人都同意会获得一个 "绝对巨大的" 好处。这会成为一种解决最重要问题的方法:为 99%的人编程。

因为 Python 长期以来一直专注于易学,因此作为一种教学语言,它是很平易近人的,它可以让很多非程序员也能掌握。Python 可以被那些不认为自己是程序员但能用电脑做一些事情的人使用。他说,正是这种动力,帮助推动 Python 在过去 10 年或 15 年里在计算机语言中占据主导地位。

他指出,世界上的程序员数量约为 2500 万,占人口的 0.3%。因此,人类的其他部分不得不依赖这一小部分人的所有代码,而这些代码正日益渗透到一切。"这不是一个好的状态。" 今后将继续保持如此,除非我们对此有所作为。

当他住在波士顿时,他被波士顿公共图书馆上的巨大雕刻所启发:"联邦需要人民的教育作为秩序和自由的保障"。在他看来,民主化和素养,包括计算和数据这个素质,是 "保证人类开放和自由的未来的基础"。他希望看到 PyScript 在这方面发挥作用。"为人民和他们的社区进行计算"。

他希望孩子们能通过 PyScript 来第一次接触到编程。他们不需要在平板电脑或笔记本电脑上安装任何东西,或者他们可以使用图书馆的电脑。现有的关于 HTML、CSS 和 Python 的教育材料都可以继续用,跟现在没有什么大区别。我们的想法是关注业余程序员的生产力和生活质量,而不是经验丰富的软件开发人员。

他的愿景是使网络成为 "一个友好的、可黑客化的地方,任何人都可以做出有趣的东西"。然后他们可以轻松地与他人分享这些有趣的东西。他说,在过去的 20 年里,随着软件栈变得越来越复杂,我们社区已经失去了 remix aspect。

他希望看到网络回归到以前的 quirky 和 creative 的样子,并 "把快乐放回网络中"。他的最后一个 "演示 "是一个 PyScript REPL,他输入了 "import antigravity",运行后展示了关于 Python 的经典 xkcd(注意,import 也是 CPython 中的一个复活节彩蛋)。但是当他输入 "antigravity.fly()" 时,这个飞翔的身影在一个迷你动画中升到了更高的天空。他在雷鸣般的掌声中说:"让我们做更多这样的事情"。

这是一个有趣的、相当有启发性的主题演讲,遗憾的是我直到现在才写出来——在会议举行差不多两个月后。感兴趣的读者应该值得花时间观看一下 YouTube 上的演讲视频,以了解当时 demo 的情况。尝试一下这些例子也会有启发的。很期待看到 PyScript 的后续发展。

[感谢 LWN 订阅者支持作者去盐湖城参加 PyCon。]

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

format,png

如何在本机执行 pyscript (在网页中执行python) 如何在本机执行 pyscript (在网页中执行python) pyscript可以让使用者在 H5 的网页中执行 python 的语法,目前只是alpha版本,如果透过官方网站执行,速度会很慢,还有可能因为国外网站的关系,导致无法正常运行,所以建议下载 github 的 pyscript 的原始代码,透过Node.js 进行本地端的安装。 下载 pyscript 直接到 pyscript 的github官网下载 https://github.com/pyscript/pyscript 将下载下来 p 阅读详情

相关推荐

【Python】Pyscript

在WebAssembly出现之前,让Python代码在浏览器中运行,主要有两大技术路线:将Python代码“翻译”成JavaScript,或者用JavaScript重新“实现”一个Python解释器。1.3.1 路线一:语言的“翻译官”——Python到JavaScript的转译器转译(Transpilation)指的是将一种高级语言的代码转换为另一种高级语言的代码。这个思路非常直接:既然浏览器只认识JavaScript,那我们就在代码运行之前,用一个工具把Python代码转换成功能等价的JavaScrip

宅男很神经 1424

【PyScript】PyScript 基础入门

PyScript 是一个为了支持 Python 运行在浏览器的开源平台。

Python、Golang、大数据 2548

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 102

PyScript:让 Python 能够直接在浏览器中运行的神器,用Web分享Python编程

PyScript 是一个基于 WebAssembly(WASM)的框架,它允许开发者在 HTML 页面中直接嵌入 Python 代码,并在浏览器中直接执行。这意味着你可以利用 Python 的丰富库和生态系统,直接在 Web 应用程序中构建各种功能,从数据可视化到机器学习模型,甚至游戏开发,PyScript 都能胜任。PyScript 为 Python 开发者打开了 Web 开发的大门,它让 Python 的强大功能能够在浏览器中发挥作用,为 Web 应用开发带来了前所未有的可能性。

weixin_53707653的博客 3899

告别信号毛刺!手把手教你用ADS和IBIS-AMI模型搞定PCIe Gen3眼图仿真

本文详细介绍了如何使用Keysight ADS和IBIS-AMI模型进行PCIe Gen3眼图仿真,解决高速信号传输中的信号质量问题。从仿真环境搭建、S参数预处理到眼图优化与故障排除,提供了一套完整的工程实践指南,帮助工程师提升PCIe Gen3接口的信号完整性。

weixin_28366053的博客 364

内网(极空间)搭建gitlab跳板机转发端口及域名配置

然后,回头尝试用内网地址+15022 clone,成功,用公网的ip+15222 clone失败,那就是定位到时nginx转发的问题了。首先想到的就是 git clone是通过ssh的22端口进行下载的,那就需要打通22端口,则又配置22端口的nginx转发。然后,我通过ssh命令,做一个端口转发,以实现内网穿透,将服务端口链接到跳板机上。然后穿透到阿里云服务器跳板机的端口,只能内网访问,需要用nginx做个转发,才能用公网ip进行访问。然后,如上,我的80端口,映射15080,22端口映射15022。

God丶Davide的博客 6074

PyScript,一个已实现跨领域的 python 库!

PyScript是由Anaconda公司开发的一个开源框架,基于Pyodide(将Python编译为WebAssembly的项目)构建。它允许开发者:• 在HTML中直接嵌入Python代码• 在浏览器中运行完整的Python科学计算栈(NumPy、Pandas等• 实现Python与JavaScript之间的无缝互操作• 创建丰富的、交互式的Web应用而无需编写JavaScript代码。

AI生成曾小健3 1512

别再只调电位器了!用单片机PWM控制LM317输出电压,精度和玩法都多了

本文探讨了如何利用单片机PWM控制LM317输出电压,替代传统的电位器调节方案。通过PWM信号的有源滤波和运放处理,实现了更高精度(±5mV)、更好温度稳定性(0.01%/°C)的数控稳压电源设计,支持远程控制和可编程曲线输出,为经典电路注入数字化智能。

weixin_29164497的博客 355

Pyscript,使用Python编写前端脚本

Pyscript的入门介绍

Moelimoe的博客 4183

【EPICS学习记录】根据官方教程创建一个IOC应用

参照官网给出的IOC创建教程逐步操作完成了一个IOC应用的创建,官网教程中有部分过程表述的不清晰,自己摸索之后完成了IOC的创建,并把流程记录下来。其中有一些操作不是很理解,有问题或者建议欢迎指正。

yifeng_H的博客 3661

三维荧光光谱(EEM)散射干扰实战:从识别到精准切除的完整流程

本文详细解析三维荧光光谱(EEM)中散射干扰的识别与精准切除流程,涵盖瑞利散射和拉曼散射的实战处理技巧。通过drEEM工具箱的应用示例和高级场景解决方案,帮助研究者有效消除散射干扰,提升数据准确性,特别适用于环境样品和生物活体样本分析。

weixin_42554042的博客 327

取代前端er?PyScript到底是何方神圣

PyScript是一个由Anaconda 推出的框架!它允许我们在浏览器中使用Python!通过PyScript我们可以在浏览器中运行许多运行许多流行的Python包和科学堆栈(如numpy,pandas,scikit-learn等)!PyScript是一个使用servlet+TypeScript编写的单页面应用程序(SPA),它允许我们使用python来搭建不必与服务器他通信的交互式网站!PyScript依赖于Pyodide。Pyodide 带有一个强大的 Javascript ⟺ Python 外部函数

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 3973

若依前后端分离版实战:MQTT集成保姆级教程(含MQTTX测试工具使用)

本文详细介绍了在若依前后端分离架构中集成MQTT协议的完整流程,包括环境搭建、核心配置、安全实践及性能优化。通过MQTTX测试工具的使用和实战代码示例,帮助开发者快速实现物联网场景下的实时通信功能,提升系统稳定性和效率。

weixin_30664051的博客 456

pyscript预研与学习

技术选型的考虑:能实现这个需求的技术有几种,例如 Jupyter Notebook等,但是为什么最后选择了 Pyscript 呢?pyscript 是一个框架,允许 Python 代码能在 HTML 中允许,而不需要在后端中允许代码。需求场景:有一个 Python 考核培训系统,想让学习者直接能直接在我们的系统中直接执行 Python 代码。抛开需求谈技术,都是耍流氓~,那么我们来简单介绍一下使用场景是什么才会使用到这个技术。简单介绍完 pyscript 是什么,那么接下来就是介绍怎么用。

weixin_56241562的博客 925

倒立摆的PLC控制(模型分析+ SCL源代码)

首先简单介绍下倒立摆模型,下面这幅图是MATLAB网站上的倒立摆模型,下面我们利用牛顿第二运动定律建立摆杆的运动方程。

RXXW_Dor的博客 3327

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pyscript的简单应用

最近在 PyCon US 2022 上,Anaconda 的首席执行官 Peter Wang 宣布了一项名为 PyScript 的闪亮新技术,该技术允许用户在浏览器中编写 Python。 1. 什么是pyscript pyscript由来自 Anaconda 的团队开发,包括 Peter Wang、Fabio Pliger 和 Philipp Rudiger,正如 Peter 在他的演讲中提到的, PyScript是“一个用于在 HTML(如 PHP)中交错 Python 的系统。”这意味着您可以编写和运行

子圭时安的个人博客 5261

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

pyscript的用法

现阶段,运行带有 PyScript 的页面加载速度特别慢,像一下子回到了原始年代。目前阶段,只能尝试新鲜感,知道这么个东西,项目中最好还是不要使用。项目现在还在完善阶段,许多功能还没有支持,但是从github热度和参与贡献的人数来看,前途还是可以的。...

打工人的博客 2390

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

用Python写前端是什么体验?

PyScript是一个框架,允许用户在浏览器中使用HTML的界面和Pyodide、WASM以及现代网络技术的力量来创建丰富的Python应用程序。PyScript框架为各种经验水平的用户提供了使用一种具有无数应用的、易于学习的编程语言的机会。多才多艺的Python学研君不禁感叹,Python真是太万能了,现在除了用来用来写后端、爬虫、AI/ML,竟然也可以写前端了😱!赶快翻开它的官网(这差不多就是说,再加上Python有丰富的库和可访问的生态系统,PyScript的功能强大多了!

python122_的博客 3056

PyScript 详解:从入门到精通

PyScript是一款革命性的开源框架,允许开发者在HTML页面中直接编写Python代码实现前端逻辑。它基于Pyodide(WebAssembly版CPython),无需服务器即可在浏览器中运行Python。最新版本(2025.7.1)采用模块化架构,使用<script type="py">标签替代旧版语法。 核心功能包括:DOM操作、异步请求、事件绑定、浏览器API调用等,支持标准库和常用第三方库(numpy/pandas)。文章通过三个实战案例(Todo应用、数据可视化

superfreeman的专栏 2087

Python语言使用PyScript开发Web应用程序

如何在html中运行python代码

代码说,代码让世界更美好。 523

PyScript驾到 通通闪开!

在PyCon US 2022上,Python开发商Anaconda发布了PyScript,该框架可以在浏览器中运行Python应用。它允许开发者在HTML中创建丰富的Python应用程序,Python代码可与JavaScript实现双向通信。

大模型研究中心 265

前端库Pyscript 浏览器端运行python代码

在body中加一个script标签 设置引用文件的类型为py,src为python文件,config是一个配置文件用于引入python文件中所需要的py库。在一些需求中,我们可能在前端开发中使用一些python代码能够减少工作量,所以我们就可以使用一个前端库Pyscript。1 导入pyscript的js文件与css文件。

qziovv的博客 838

PyScript 来了!终于可以在浏览器运行 Python 应用

PyScript 来了!终于可以在浏览器运行 Python 应用

tingting11232的博客 753

在浏览器运行Python应用,Anaconda发布PyScript

在PyCon US 2022 上,Python开发商Anaconda发布了PyScript,该框架可以在浏览器中运行Python应用。

优快云资讯 7248

也许有个新玩意你会感兴趣 - pyscript

它用到了一种叫 WebAssembly(WASM) 的技术,它被设计为其他语言的编译目标,允许服务器端代码(比如py或C)被编译成WASM并在浏览器中执行。

小伍的游乐场 408

LWN:6.4里也许会支持用户空间影子堆栈了!

关注了就能看到更多这么棒的文章哦~User-space shadow stacks (maybe) for 6.4By Jonathan CorbetMarch 24, 2023DeepL assisted translationhttps://lwn.net/Articles/926649/x86 架构的影子堆栈(shadow stacks)已经支持很久了;LWN 在 2018 年首次报道了这项...

Linux News搬运工 1721
上一篇: LWN: Fedora, FFmpeg, Firefox, Flatpak, Fusion!
下一篇: LWN:两组跟memory-tier有关的patch!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值