全部產品
Search
文件中心

Function Compute:運行代碼

更新時間:Jul 22, 2026

Code Interpreter 通過 run_code() / runCode() 在 Sandbox 內執行代碼。Python 是預設語言,其他語言通過 language 參數選擇。

建立 Sandbox

使用 code-interpreter-v1 模板建立 Sandbox:

import os

from e2b_code_interpreter import Sandbox

sandbox = Sandbox.create(
    template="code-interpreter-v1",
    api_key=os.environ["E2B_API_KEY"],
    api_url=os.environ["E2B_API_URL"],
    domain=os.environ["E2B_DOMAIN"],
)

TypeScript 樣本:

import { Sandbox } from "@e2b/code-interpreter";

const sandbox = await Sandbox.create("code-interpreter-v1", {
  apiKey: process.env.E2B_API_KEY,
  apiUrl: process.env.E2B_API_URL,
  domain: process.env.E2B_DOMAIN,
});

執行 Python 代碼

execution = sandbox.run_code("""
import pandas as pd

df = pd.DataFrame({"value": [1, 2, 3]})
print(df)
df["value"].sum()
""")

stdout = "".join(execution.logs.stdout or [])
print(stdout.strip())
print(execution.text)

TypeScript 樣本:

const execution = await sandbox.runCode(`
import pandas as pd

df = pd.DataFrame({"value": [1, 2, 3]})
print(df)
df["value"].sum()
`);

const stdout = execution.logs.stdout.join("");
console.log(stdout.trim());
console.log(execution.text);

print() 寫入 stdout;最後一個裸運算式寫入 execution.text,並可能在 execution.results 中產生結構化結果。

設定逾時

長時間任務應顯式設定執行逾時和請求逾時:

execution = sandbox.run_code(
    "import time; time.sleep(5); 42",
    timeout=30,
    request_timeout=60,
)

TypeScript 樣本:

const execution = await sandbox.runCode(
  "import time; time.sleep(5); 42",
  {
    timeoutMs: 30_000,
    requestTimeoutMs: 60_000,
  },
);

timeout 限制 Sandbox 內代碼執行時間長度;request_timeout 限制 SDK 請求等待時間長度。具體參數名以當前語言 SDK 為準。

執行其他語言

雲沙箱 Code Interpreter 支援通過 language 參數執行 JavaScript、TypeScript 和 Bash;不支援 Java 和 R。生產接入前建議先用最小代碼驗證目標語言。

execution = sandbox.run_code(
    'console.log("hello from js")',
    language="javascript",
)

TypeScript 樣本:

const execution = await sandbox.runCode('console.log("hello from js")', {
  language: "javascript",
});

更多語言樣本參見支援語言。

輸出行為

  • execution.logs.stdout / execution.logs.stderr 返回標準輸出和標準錯誤。

  • stdout/stderr 片段包含時間戳記。

  • execution.execution_count / execution.executionCount 表示當前上下文內的執行序號。

  • execution.text 返回最後一個裸運算式的文本展示。

  • execution.results 返回富結果,例如文本和表格。圖表請寫入檔案後通過 Filesystem 取回。

  • execution.error 返回運行時報錯。