Skip to content
Back to skills

Py Env Setup

CSecurity

Host-specific Python execution guidance for OpenClaw on this machine. Prefer $PYTHON over python/python3 in PATH, because OpenClaw exec runs in a non-interactive shell and may not inherit interactive shell initialization.

  • 33 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
toolspythonshellbashgit

Works with

  • terminal

Security analysis

C71/100
  • criticalModifies startup scripts or system services for persistence
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill py-env-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Py Env Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Py Env Setup
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-py-env-setup/badge)](https://www.skillsdirectory.com/skills/dvcrn-py-env-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: py-env-setup
description: "Host-specific Python execution guidance for OpenClaw on this machine. Prefer $PYTHON over python/python3 in PATH, because OpenClaw exec runs in a non-interactive shell and may not inherit interactive shell initialization."
homepage: https://github.com/QAA-Tools/skills
---

# Python Environment Setup

Use this skill whenever OpenClaw needs to run Python on this host.

## Why this exists

On this machine, OpenClaw `exec` runs in a **non-interactive shell**.
Interactive shell initialization may be skipped, so `python`, `python3`, or `conda` may be unavailable from PATH even though they work in a normal terminal.

Therefore, prefer the explicit Python entrypoint provided by environment variable `PYTHON`.

## Rules

1. Prefer `"$PYTHON"` over `python` or `python3`.
2. Do not rely on `source ~/.bashrc` or `conda activate` for routine automation.
3. Before using Python, verify it exists and is executable.
4. Use `"$PYTHON" -m pip ...` for package installation.
5. Use `"$PYTHON" script.py`, `"$PYTHON" -m module`, or `"$PYTHON" -c '...'` for execution.
6. Apply this rule to **all Python-related commands**, not just pip.
7. If `PYTHON` is unset or invalid, report the problem clearly.

## Validation

```bash
test -x "$PYTHON"
"$PYTHON" --version
```

## Common patterns

### Install packages

```bash
"$PYTHON" -m pip install -U package_name
"$PYTHON" -m pip install -U openai-whisper torch ffmpeg-python
```

### Run a script

```bash
"$PYTHON" script.py
```

### Run a module

```bash
"$PYTHON" -m module_name
```

### Run inline Python

```bash
"$PYTHON" - <<'PY'
print('hello')
PY
```

### Quick guard pattern

```bash
test -x "$PYTHON" || { echo "PYTHON not executable: $PYTHON" >&2; exit 1; }
"$PYTHON" --version
```

## Fallback policy

Only if the task explicitly allows fallback, try in this order:

1. `$PYTHON`
2. `python3`
3. `python`

Default policy: **do not silently fallback**. Prefer failing loudly if `$PYTHON` is missing, so environment issues are obvious.

## Notes

- This skill is host-specific.
- It is meant to guide OpenClaw runtime behavior, not teach Python itself.
- The `PYTHON` value is read from the environment. This skill does not require a specific env-file location.

Files in this skill

  • SKILL.md2.2 KB
  • skill.json246 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…