Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-sandbox-fallback-execution-5eda7b-bc96c9c65859 ,按照其中的说明把「sandbox-fallback-execution-5eda7b」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
When execute_code_sandbox fails due to e2b initialization errors or sandbox unavailability, use this fallback pattern to execute Python code by writing it to disk and running it via run_shell. This approach is particularly useful for PDF generation, data processing, and other Python-intensive tasks.
Use this skill when you encounter errors like:
e2b initialization errorsandbox not availableexecute_code_sandbox timeout or connection failuresAlways try execute_code_sandbox first, as it provides isolation and artifact handling:
execute_code_sandbox(code="your_python_code_here")
When sandbox execution fails with initialization errors, switch to the fallback pattern:
Write the Python script to disk using write_file:
generate_pdf.py, process_data.py)Execute via shell using run_shell:
python or python3# Write the script to disk
write_file(
path="generate_pdf.py",
content="""
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
def create_pdf(filename, content):
c = canvas.Canvas(filename, pagesize=letter)
c.drawString(100, 750, content)
c.save()
create_pdf('output.pdf', 'Hello World')
"""
)
# Execute the script via shell
run_shell(command="python generate_pdf.py")
If the script requires external packages:
# Install dependencies first
run_shell(command="pip install reportlab pillow")
# Then execute the script
run_shell(command="python generate_pdf.py")
After execution, verify the output was created:
# Check if file was created
run_shell(command="ls -la output.pdf")
# Optionally read the file to confirm
read_file(file_path="output.pdf", filetype="pdf")
run_shell for debugging# Primary: Try sandbox execution
try:
result = execute_code_sandbox(code=python_code)
except Exception as e:
if "e2b" in str(e).lower() or "sandbox" in str(e).lower():
# Fallback: Write to disk and execute via shell
script_path = "task_script.py"
write_file(
path=script_path,
content=python_code
)
# Install any required dependencies
run_shell(command="pip install -q reportlab")
# Execute the script
result = run_shell(command=f"python {script_path}")
# Verify output
run_shell(command="ls -la")