pyscript可以让使用者在 H5 的网页中执行 python 的语法,目前只是alpha版本,如果透过官方网站执行,速度会很慢,还有可能因为国外网站的关系,导致无法正常运行,所以建议下载 github 的 pyscript 的原始代码,透过Node.js 进行本地端的安装。
下载 pyscript- 直接到 pyscript 的github官网下载 https://github.com/pyscript/pyscript
将下载下来 pyscript-main.zip 的压缩档放在一个新建的文件夹中,比方说 localPyScript
- 下载并安装Node.js,https://nodejs.org/,这部份就不多说了。
- 全局安装 rollup
# 查看当前使用的镜像地址,通常是 https://registry.npmjs.org npm config get registry # 将镜像地址切换为淘宝镜像,加快安装速度 npm config set registry https://registry.npm.taobao.org npm install --global rollup解压缩 pyscript 项目
- 解压缩 pyscript-main.zip,并切换到 pyscriptjs 文件夹,并进行安装相关套件。
cd pyscriptjs npm install执行 node 服务器
- 执行 node 服务器,它会在 examples/build 文件夹中生成需要的 js 与 css 文件
npm run dev练习用网页
- 建立一个简单的练习用网页 hello_world.html,记得要放在examples 文件夹中,如下图所示。
代码如下,记得设定 pyscript.css 与 pyscript.js 设定为本机端 (http://localhost:8080/build/)。
PyScript Hello World
Hello world!
This is the current date and time, as computed by Python:
from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
修改 pyscript.js,变更 pyodide.js 的存取位置
- 变更 pyodide.js 的存取位置,pyodide是最主要提供能在网页上执行 python 的主要套件,但是因为系统预设使用 https://cdn.jsdelivr.net 這個CDN 服务,但自从 2021 年后 jsdelivr 已经不能在中国内使用,所以需要将存取位置改为 https://pyodide-cdn2.iodide.io。
打开 ./pyscriptjs/examples/build/pyscript.js 文件,修改内容如下,并储存。
const DEFAULT_RUNTIME = {
//src: ‘https://cdn.jsdelivr.net/pyodide/v0.20.0/full/pyodide.js’,
src: ‘https://pyodide-cdn2.iodide.io/v0.20.0/full/pyodide.js’,
name: ‘pyodide-default’,
lang: ‘python’,
};
let appConfig_ = {
autoclose_loader: true,
};
8.打开网页输入 http://localhost:8080/hello_world.html 就可以检视结果了。
最终文件夹说明pyscript 项目解压缩后的目录结构如下图所示,而我们所有的操作都在 pyscripts 这个文件夹中,当整个服务器运行起来时,是以 pyscriptsexamples 为网页服务器的根目录,特别提醒一下,其实 examples 有很多示例可以参考,可以把 examples 中的示例搬到pyscriptsexamples,只要修改 pyscript.css 与 pyscript.js 设定为本机端,就可以运行了。
这是内附的范例。
下图是我们这个项目需要修改的文件,pyscript.js 是主要的js执行文件,其中会使用到 pyodide 的功能,所以需要调整网址;hello_world.html 是我们新增的文件,用来展示pyscript的功能。
- pyscript,https://pyscript.net/
- PyScript,https://github.com/pyscript/pyscript



