Skulpt 项目教程
1. 项目介绍
Skulpt 是一个用 JavaScript 实现的 Python 编程语言。它允许 Python 代码在浏览器中运行,甚至可以在 iPad 上运行。Skulpt 被用于多个项目中,包括交互式 Python 教材。通过 Skulpt,用户可以在浏览器中尝试 Python 代码,甚至进行一些简单的图形编程,如 Turtle 图形。
Skulpt 最初由 Scott Graham 创建,Brad Miller 自 2010/2011 年起担任项目维护者,并与核心贡献者 Albert-Jan Nijburg、Scott Rixner、Meredydd Luff 等人一起推动项目的发展。
2. 项目快速启动
2.1 安装 Node.js
首先,确保你已经安装了 Node.js。你可以从 Node.js 官网 下载并安装。
2.2 克隆项目
使用 Git 克隆 Skulpt 项目到本地:
git clone https://github.com/skulpt/skulpt.git
cd skulpt
2.3 安装依赖
在项目目录下运行以下命令安装所需的依赖:
npm install
2.4 构建项目
运行以下命令构建 Skulpt:
npm run dist
构建完成后,你会在 dist 文件夹中找到 skulpt.min.js 和 skulpt-stdlib.js。
2.5 在网页中使用 Skulpt
在你的 HTML 文件中引入 Skulpt 的 JavaScript 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Skulpt 示例</title>
<script src="dist/skulpt.min.js"></script>
<script src="dist/skulpt-stdlib.js"></script>
</head>
<body>
<textarea id="code" style="width: 100%; height: 200px;">
print("Hello, Skulpt!")
</textarea>
<button onclick="runPython()">运行代码</button>
<script>
function runPython() {
var code = document.getElementById("code").value;
Sk.configure({output: function(text) {console.log(text);}});
(Sk.TurtleGraphics || (Sk.TurtleGraphics = {})).target = 'mycanvas';
var myPromise = Sk.misceval.asyncToPromise(function() {
return Sk.importMainWithBody("<stdin>", false, code, true);
});
myPromise.then(function(mod) {
console.log('success');
}, function(err) {
console.log(err.toString());
});
}
</script>
</body>
</html>
3. 应用案例和最佳实践
3.1 交互式 Python 教材
Skulpt 被广泛应用于交互式 Python 教材中,学生可以直接在浏览器中编写和运行 Python 代码,无需安装任何本地环境。
3.2 Turtle 图形编程
Skulpt 支持 Turtle 图形编程,用户可以在浏览器中绘制图形,非常适合初学者学习编程和图形绘制。
3.3 在线编程平台
许多在线编程平台使用 Skulpt 来支持 Python 编程,用户可以在这些平台上直接编写和运行 Python 代码,进行在线编程练习。
4. 典型生态项目
4.1 Skulpt-Turtle
Skulpt-Turtle 是 Skulpt 的一个扩展模块,专门用于支持 Turtle 图形编程。它允许用户在浏览器中绘制各种图形,非常适合教育和学习。
4.2 Skulpt-Math
Skulpt-Math 是 Skulpt 的数学模块扩展,提供了丰富的数学函数和常量,方便用户在浏览器中进行数学计算和模拟。
4.3 Skulpt-Repl
Skulpt-Repl 是一个基于 Skulpt 的交互式 Python REPL(Read-Eval-Print Loop)环境,用户可以在浏览器中直接输入 Python 代码并立即看到结果。
通过这些生态项目,Skulpt 不仅支持基本的 Python 编程,还扩展了其在图形编程、数学计算和交互式编程方面的能力,为用户提供了更丰富的编程体验。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112