Brython (Browser Python) 是在浏览器中运行的 Python 3 的一个实现,具有到 DOM 元素和事件的接口。
下面是一个运行 Python 的 HTML 页面的简单示例:
<html>
<head>
<script type="text/javascript" src="/path/to/brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
from browser import document, alert
def echo(event):
alert(document["zone"].value)
document["mybutton"].bind("click", echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>
要使用 Brython,只需:
加载脚本brython.js。
brython()在页面加载时运行该函数,例如
<body onload="brython()">.
在 tags 中编写 Python 代码
<script type="text/python">
Brython 支持Python 3的语法,包括推导式、生成器、元类、导入等以及 CPython 发行版的许多模块。
从 3.8.0 版本开始,Brython 实现了相同主要/次要版本号的 Python 版本。
它包括与 DOM 元素和事件交互的库,以及与现有 Javascript 库(如 jQuery、D3、Highcharts、Raphael 等)交互的库。它支持最新的 HTML5/CSS3 规范,并且可以使用 CSS 框架,如 Bootstrap3、LESS、SASS 等。
最简单的入门方法是使用jsDelivr在线提供的发行版,无需安装任何东西。您可以选择最新的稳定版本:
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9.5/brython.min.js">
</script>
前面的代码将允许您使用原始 python 代码,但如果您从标准库导入模块,您必须使用可用的 stdlib加载单个 javascript 文件:
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9.5/brython_stdlib.js">
</script>
jsDelivr 支持版本范围,所以如果你想要最新的 3.9.x 版本:
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython_stdlib.js">
</script>
或最新的 3.xy 版本:
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython_stdlib.js">
</script>
如果你想使用最新的开发版本,你可以加载这些脚本:
<script src="https://raw.githack.com/brython-dev/brython/master/www/src/brython.js"></script>
<script src="https://raw.githack.com/brython-dev/brython/master/www/src/brython_stdlib.js"></script>
要在本地安装 Brython,如果您的 CPython 发行版带有pip:
pip install brython
然后创建一个新目录并运行
brython-cli --install
或者从发布页面加载最新版本的 Brython zip 文件 。
在这两种情况下,发行版都包括brython.js(核心 Brython 引擎)和brython_stdlib.js(标准发行版中所有文件的包)。
它还包括页面demo.html,该页面显示了如何使用 Python 作为脚本语言与网页交互的一些示例:创建新元素、访问和修改现有元素、创建图形、动画、发送 Ajax 请求等。
六、github
地址:https://github.com/brython-dev/brython