Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell
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