SuperAPI AI 工具集

docker-python-lab

编程与开发

查看项目

更新于 10-15 21:10

技能介绍

用途:为 MkDocs 教材(如 learning-python)生成交互式 Python 实验块。每个实验包含代码编辑器、Run 与 Reset 按钮和输出区,代码在全新的隔离 Docker 容器中运行,通过本地 5001 端口 HTTP 服务执行。它是 Skulpt 实验模式的 Docker 版本,外观一致,但运行真实 Python,可用完整标准库与第三方包。

主要能力:支持标准实验(仅文本输出)与计时实验(按阶段显示耗时表,约定后缀为 4)。每个实验需唯一后缀,所有元素 ID 都带该后缀,按钮 onclick 传入对应后缀字符串。

使用方式:先准备共享文件——将 assets/docker-lab.css 复制到 docs/css/docker-lab.css,将 assets/docker-lab.js 复制到 docs/js/docker-lab.js,并在 mkdocs.yml 的 extra_css 与 extra_javascript 中加入对应条目,避免重复。运行时服务脚本位于 scripts/run-python-docker.sh,缺失则实验无法工作。页面开头需提示学生先在终端运行 bash scripts/run-python-docker.sh。

限制:起始代码建议 5–15 行;每个实验至少有一个 print();避免 input()(无 stdin)、文件 I/O(无持久文件系统)以及非标准库导入(python:3.11-alpine 仅含标准库)。不要给元素加 id="main",不要给 textarea 加 rows。若服务未启动,页面会提示运行上述脚本后刷新。