如何使用 Python 前端框架 PyScript |
您所在的位置:网站首页 › python开发web前端模板 › 如何使用 Python 前端框架 PyScript |
原文: How to Use PyScript – A Python Frontend Framework 近年来,Python 越来越受欢迎。它有广泛的应用,从最流行的人工智能到数据科学、机器人和脚本。 在 Web 开发领域,Python 主要用于后端,有 Django 和 Flask 等框架。 以前,Python 没有像 JavaScript 等其他语言那样在前端提供太多支持。但值得庆幸的是,Python 开发人员已经构建了一些库(例如 Brython)来支持他们最喜欢的语言。 而今年,在 PyCon 2022 大会期间,Anaconda 宣布了一个名为 PyScript 的框架,它允许你在使用标准 HTML 的 Web 上使用 Python。 你可以查看有关发布的这条推文: 📢 Did you hear the news from PyCon!? We are thrilled to introduce PyScript, a framework that allows users to create rich Python applications IN THE BROWSER using a mix of Python with standard HTML! Head to https://t.co/n4OoeBD46z for more information. 🧠 💥 — Anaconda (@anacondainc) April 30, 2022 前提你将需要以下工具和知识来编写本文的代码: 你选择的文本编辑器或 IDEPython 知识HTML 知识浏览器(Google Chrome 是 PyScript 推荐的浏览器)PyScript 是什么?![]() PyScript 是一个 Python 前端框架,它使用户能够在浏览器中使用 HTML 界面构建 Python 程序。 它是结合 Emscripten、Pyodide、WASM 和其他现代 Web 技术的力量开发的,以提供符合其目标的以下功能: 提供一个简单而干净的 API提供可插拔和可扩展组件的系统支持和扩展标准 HTML 以读取自定义组件,以实现“为 99% 编程”的使命![]() 在过去的几十年里,Python 和现代 HTML、CSS 和 JavaScript 等高级 UI 语言并没有协同工作。 Python 缺乏一种简单的机制来创建吸引人的 UI 来简单地打包和部署应用程序,而当前的 HTML、CSS 和 JavaScript 可能有一个陡峭的学习曲线。 允许 Python 使用 HTML、CSS 和 JavaScript 约定不仅解决了这两个问题,还解决了与 Web 应用程序开发、打包、分发和部署相关的问题。 不过,PyScript 并不是要在浏览器中扮演 JavaScript 的角色,而是要为 Python 开发人员尤其是数据科学家提供更大的灵活性和功能。 为什么选择 PyScript?PyScript 通过提供以下内容,为你提供了一种具有一致样式约定、更具表现力和易于学习的编程语言: 浏览器支持:PyScript 无需服务器或配置即可支持 Python 和托管。互操作性:程序可以在 Python 和 JavaScript 对象和命名空间之间进行双向通信。生态系统支持:PyScript 允许使用流行的 Python 包,例如 Pandas、NumPy 等。框架灵活性:PyScript 是一个灵活的框架,开发人员可以在此基础上轻松地直接在 Python 中创建可扩展的组件。环境管理:PyScript 允许开发人员定义要在其页面代码中运行的文件和包。UI 开发:使用 PyScript,开发人员可以轻松地使用可用的 UI 组件(例如按钮和容器等)进行构建。如何开始使用 PyScript?PyScript 相当简单易学。要开始使用,你可以按照网站上的说明或下载 .zip 文件。 在本文中,我们将通过网站使用和学习如何使用 PyScript。你可以通过链接 HTML 文件中的组件来完成此操作。让我们用 PyScript 打印我们的第一个 “Hello World”。 创建一个 HTML 文件首先,你需要创建一个 HTML 文件以使用你选择的文本编辑器/IDE 在浏览器上显示文本。 Title: PyScript 链接 PyScript创建 HTML 文件后,我们需要在 HTML 文件中链接 PyScript 以访问 PyScript 界面。这将被放置在 标签中。 打印到浏览器现在你已将 PyScript 链接到 HTML 文件,你可以打印 “Hello World”。 你可以使用 标签来执行此操作。 标签允许你运行多行 Python 程序并将它们打印在浏览器页面上。将标签放在 标签之间。 print("Hello, World!")HTML 文件的完整代码如下: Title: PyScript print("Hello, World!")在你的浏览器上,你应该会看到: ![]() 提示:如果你使用的是 VSCode 编辑器,则可以在更新 HTML 文件时使用 VSCode 中的 Live Server 插件重新加载页面。 PyScript 的更多操作你可以使用 PyScript 框架执行更多操作。现在让我们来看看其中的一些。 将标签附加到标记的元素在使用 PyScript 时,你可能希望将变量从 Python 代码传递到 HTML。你可以使用 标签中 pyscript 模块中的 write 方法来执行此操作。使用 id 属性,你可以传递显示为常规文本的字符串。 write 方法接受两个变量:id 值和将提供的变量。 Today is import datetime as dt pyscript.write('today', dt.date.today().strftime('%A %B %d, %Y'))输出变为: ![]() PyScript 提供了一个在浏览器中运行 Python 代码的接口。 为了能够做到这一点,PyScript 使用 标签。 标签向页面添加了一个 REPL 组件,该组件充当代码编辑器并允许你内联编写可执行代码。 在浏览器(最好是 Chrome)中尝试,你应该得到这个: ![]() PyScript 提供的功能之一是灵活性。在 PyScript 中,你可以导入本地文件、内置模块或第三方库。此过程使用 标签。这个标签用于声明所需的依赖项。 对于系统上的本地 Python 文件,你可以将代码放在 .py 文件中,本地模块的路径由 标签中的 paths: key 提供。 让我们创建一个 Python 文件 example.py 来包含一些函数: from random import randint def add_two_numbers(x, y): return x + y def generate_random_number(): x = randint(0, 10) return x然后 Python 文件将被导入带有 标签的 HTML。你应该将此标签放在 标签中,在 标签上方。 - paths: - /example.py Let's print random numbers Doe's lucky number is from example import generate_random_number pyscript.write('lucky', generate_random_number())这将返回: ![]() 对于不属于标准库的第三方库,PyScript 支持它们。 - numpy - requests import numpy as np import requests 配置元数据你可以使用 标签以 YAML 格式设置和配置有关 PyScript 应用程序的一般元数据。你可以按以下格式使用此标签: - autoclose_loader: false - runtimes: - src: "https://cdn.jsdelivr.net/pyodide/v0.20.0/full/pyodide.js" name: pyodide-0.20 lang: python这些是 标签提供的可选值: autoclose_loader(布尔值):如果设置为 false,PyScript 将不会关闭加载启动画面name(字符串):用户应用程序的名称version(字符串):用户应用程序的版本runtimes(运行时列表):运行时配置列表,其中包含以下字段:src、name 和 lang总结在本文中,你了解了 PyScript 的全部内容以及如何在 HTML 文件中使用它在浏览器上运行 Python 代码。你还了解了可以使用 PyScript 执行的各种操作/功能。 使用 PyScript,可以更轻松地在 Web 上运行和执行 Python 操作,这在以前并不容易。对于希望在 Web 上使用 Python 的任何人来说,这都是一个很棒的工具。 PyScript 仍处于早期阶段,开发工作在进行中。它仍处于 alpha 阶段,面临已知问题,例如可能影响可用性的加载时间(由于性能问题,在撰写本文时无法显示其他一些操作)。所以你不应该在生产中使用它,因为它可能会有很多重大变化。 参考资料PyScript 官方网站Anaconda 博客PyScript 源码PyScript 入门指南 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |