You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Skulpt与Trinket.io的Python版本疑问:免费嵌入Python3是否可行?

关于Skulpt与Trinket.io的Python3支持及自有网站嵌入问题

1. Trinket.io的Python版本说明

  • Trinket.io免费版的默认“Python”项目,就是基于Skulpt主分支的准Python3版本(对应Skulpt官网所说的Python 3.7.3语法标准)。锁定的“Python 3”选项是早期版本的遗留标记,并非付费专属功能。免费用户使用默认“Python”项目就能获得Skulpt的Python3兼容能力。

2. 自有网站免费嵌入Python3代码的实现方案

完全可以免费实现,无需依赖第三方付费服务,直接基于Skulpt的开源资源即可,核心步骤如下:

  • 引入Skulpt的核心文件:在网页中添加Skulpt的JS和CSS资源(可通过官方公开的CDN获取)
  • 配置运行环境:通过Skulpt的API指定启用Python3模式(默认主分支就是Python3,只需确保不手动切换到Python2模式)
  • 构建交互区域:在页面中添加代码输入框和输出展示区,调用Skulpt的Sk.importMainWithBody()等API执行用户输入的Python3代码并渲染结果

举个极简示例代码片段:

<!-- 引入Skulpt资源 -->
<script src="https://cdn.jsdelivr.net/npm/skulpt@latest/dist/skulpt.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/skulpt@latest/dist/skulpt-stdlib.js"></script>

<!-- 页面元素 -->
<textarea id="pythonCode">print("Hello, Python 3!")</textarea>
<button onclick="runCode()">运行</button>
<pre id="output"></pre>

<script>
function runCode() {
  var code = document.getElementById("pythonCode").value;
  var output = document.getElementById("output");
  output.innerHTML = "";
  
  // 配置Skulpt使用Python3模式
  Sk.configure({
    output: function(text) { output.innerHTML += text; },
    read: function(file) {
      if (Sk.builtinFiles === undefined || Sk.builtinFiles["files"][file] === undefined)
        throw "File not found: '" + file + "'";
      return Sk.builtinFiles["files"][file];
    }
  });

  // 执行代码
  Sk.misceval.asyncToPromise(function() {
    return Sk.importMainWithBody("<stdin>", false, code, true);
  }).catch(function(err) {
    output.innerHTML += err.toString();
  });
}
</script>

内容的提问来源于stack exchange,提问作者Robin Andrews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:35:22