Skip to main content

python-shell-workaround

Workaround for executing Python code with external packages when sandbox fails

소스 정보

저장소
HKUDS/OpenSpace
최근 소스 활동
2026년 7월 17일 03:43
감지된 SKILL.md 언어
영어
스타
7,776
포크
926

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
python-shell-workaround
description
Workaround for executing Python code with external packages when sandbox fails
# Python Shell Workaround ## When to Use This Skill Use this pattern when `execute_code_sandbox` fails with Python code that requires external packages (like `openpyxl`, `python-docx`, `pandas`, etc.) that may not be available in the sandbox environment. ## The Pattern Instead of relying solely on `execute_code_sandbox`, use `run_shell` with inline Python commands as a fallback: ```bash python3 -c "your python code here" ``` ## Step-by-Step Instructions ### Step 1: Detect Sandbox Failure Watch for errors like: - ModuleNotFoundError for common packages - Import errors for external libraries - Sandbox environment limitations ### Step 2: Convert Python Code to Shell Command Transform your Python script into a one-liner or use a heredoc for longer scripts: **For simple code:** ```bash python3 -c "import openpyxl; wb = openpyxl.Workbook(); wb.save('file.xlsx')" ``` **For complex code (using heredoc):** ```bash python3 << 'EOF' import openpyxl from openpyxl.utils import get_column_letter wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 'Header' wb.save('output.xlsx') print('File created successfully') EOF ``` ### Step 3: Execute with run_shell Use `run_shell` to execute the command: ``` tool: run_shell command: python3 -c "import openpyxl; print('Package available')" ``` ### Step 4: Verify Output Check the stdout/stderr from run_shell to confirm success, then proceed with subsequent steps. ## Best Practices 1. **Escape quotes properly**: Use single quotes inside double-quoted strings or vice versa 2. **Use heredocs for multiline code**: Cleaner and easier to debug 3. **Install packages if needed**: Add `pip install package` before your Python command if packages are missing 4. **Chain commands safely**: Use `&&` to ensure prerequisites succeed before running Python code ## Example Scenarios ### Creating Excel Files ```bash python3 << 'EOF' import openpyxl from openpyxl.worksheet.datavalidation import DataValidation wb = openpyxl.Workbook() ws = wb.active ws.title = "Data" # Add headers headers = ['Name', 'Email', 'Status'] for col, header in enumerate(headers, 1): ws.cell(row=1, column=col, value=header) wb.save('output.xlsx') EOF ``` ### Creating Word Documents ```bash python3 -c " from docx import Document doc = Document() doc.add_heading('Report', 0) doc.save('report.docx') print('Document created') " ``` ## Limitations - Complex multiline scripts are harder to maintain as one-liners - Debugging is less convenient than in sandbox - Some packages may still not be available in the shell environment ## Related Patterns - If packages are truly unavailable, consider installing them first: `pip install package_name && python3 -c "..."` - For persistent scripts, write to a `.py` file first, then execute with `python3 script.py`
GitHub에서 보기