Skip to main content

python-execution-fallback-9d4989

Fallback method for executing Python when execute_code_sandbox fails with unknown errors

ソース情報

リポジトリ
HKUDS/OpenSpace
ソースの最終更新活動
2026年7月17日 03:43
検出された SKILL.md の言語
英語
スター
7,776
フォーク
926

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
python-execution-fallback-9d4989
description
Fallback method for executing Python when execute_code_sandbox fails with unknown errors
# Python Execution Fallback ## When to Use Use this skill when `execute_code_sandbox` returns 'unknown error' or fails unexpectedly, even on simple Python code like print statements. ## Solution Switch to using `run_shell` with Python heredoc syntax instead of `execute_code_sandbox`. ### Basic Syntax ```bash python3 << 'EOF' # Your Python code here print("Hello World") result = 2 + 2 print(f"Result: {result}") EOF ``` ### How to Call Instead of: ```python execute_code_sandbox(code="print('Hello')") ``` Use: ```python run_shell(command="python3 << 'EOF'\nprint('Hello')\nEOF") ``` For multi-line code, build the command string: ```python code = """ import json data = {"status": "ok", "count": 42} print(json.dumps(data)) """ run_shell(command=f"python3 << 'EOF'\n{code}\nEOF") ``` ## Why This Works - `run_shell` executes commands directly in the shell environment, bypassing sandbox issues - Heredoc syntax (`<< 'EOF'`) allows clean multi-line Python code without complex escaping - Single quotes around EOF prevent unwanted shell variable expansion - More reliable for simple to moderate Python execution tasks ## Guidelines 1. **Always use single quotes around EOF** (`'EOF'`) to prevent variable expansion 2. **Test with a simple print statement first** to verify Python is available 3. **For longer scripts**, consider writing to a `.py` file first, then executing: ```python run_shell(command="python3 /path/to/script.py") ``` 4. **Capture stdout** from run_shell to get Python output 5. **Handle errors** by checking run_shell's stderr output ## Example: Complete Workflow ```python # Step 1: Try execute_code_sandbox try: result = execute_code_sandbox(code="print(2+2)") except Exception as e: # Step 2: Fallback to run_shell with heredoc result = run_shell(command="python3 << 'EOF'\nprint(2+2)\nEOF") # Parse stdout to get the output output = result.stdout.strip() ``` ## Troubleshooting | Issue | Solution | |-------|----------| | Python not found | Use `which python3` to verify installation | | Heredoc not working | Ensure single quotes around EOF delimiter | | Complex imports fail | Install required packages or write to .py file | | Output not captured | Check run_shell stdout, not return value |
GitHubで見る