Skip to main content

python-shell-workaround

Workaround for executing Python code with external packages when sandbox fails

معلومات المصدر

المستودع
HKUDS/OpenSpace
آخر نشاط في المصدر
١٧ يوليو ٢٠٢٦ في ٠٣:٤٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٧٬٧٧٦
التفرعات
٩٢٦

خيارات التثبيت

يُحدَّد 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