返回顶部
s

skill-python-envPython环境管理

【OpenClaw 内部工具 skill】为其他 skill 提供 Python 虚拟环境管理。按 Python 版本号在 ~/.python_env/ 下创建共享环境,多个 skill 可复用同一版本环境。自动安装 uv(若未安装)。不直接面向用户。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
198
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

skill-python-env

skill-python-env

内部工具 skill — 本 skill 不直接响应用户指令,由其他需要 Python 环境的 skill 在执行时调用。

设计原则

  • - 按版本共享:环境以 Python 版本号命名(~/.python_env/3.11),不同 skill 只要版本相同即复用同一环境,避免重复创建
  • 幂等安全:环境已存在则秒返回,包安装使用 uv pip install(已安装的包自动跳过)
  • 零前置依赖:uv 未安装时自动下载安装,安装完毕后继续执行,无需用户手动干预

目录结构

skill-python-env/
├── SKILL.md
├── _meta.json
└── scripts/
├── ensurepythonenv.sh # Shell 版(供 bash/zsh/Git Bash 调用)
└── ensurepythonenv.py # Python 版(供 uv run 或 python3 调用)

调用接口

两个脚本功能完全相同,根据调用方语言选择。

Shell 版

bash
bash ~/.openclaw/skills/skill-python-env/scripts/ensurepythonenv.sh [packages...]

参数说明
python_version必填,如 3.11、3.12
packages...
可选,追加安装的包,空格分隔 |

Python 版(uv run)

bash
uv run ~/.openclaw/skills/skill-python-env/scripts/ensurepythonenv.py [--packages pkg1 pkg2 ...]

参数说明
python_version必填,如 3.11、3.12
--packages
可选,追加安装的包 |

输出格式

脚本运行完成后,stdout 末尾输出以下机器可读行,供调用方 grep 解析:

PYTHONENVACTIVATE:/home/user/.python_env/3.11/bin/activate
PYTHONENVDIR:/home/user/.python_env/3.11
PYTHONENVVERSION:3.11

其他 skill 集成示例

方式 A:直接激活后运行(Shell)

bash
#!/usr/bin/env bash

其他 skill 的入口脚本

SKILLENV=$HOME/.openclaw/skills/skill-python-env/scripts/ensurepython_env.sh

确保 Python 3.11 环境就绪,并安装本 skill 所需的包

bash $SKILL_ENV 3.11 requests httpx

激活并执行

source $HOME/.python_env/3.11/bin/activate python -m my_skill $@

方式 B:解析输出路径(更健壮)

bash
#!/usr/bin/env bash
SKILLENV=$HOME/.openclaw/skills/skill-python-env/scripts/ensurepython_env.sh

OUTPUT=$(bash $SKILL_ENV 3.11 requests 2>&1)
echo $OUTPUT

ACTIVATE=$(echo $OUTPUT | grep ^PYTHONENVACTIVATE: | cut -d: -f2-)
source $ACTIVATE
python -m my_skill $@

方式 C:Python 调用

python
import subprocess, os
from pathlib import Path

script = Path.home() / .openclaw/skills/skill-python-env/scripts/ensurepythonenv.py
result = subprocess.run(
[uv, run, str(script), 3.11, --packages, requests],
capture_output=True, text=True
)

解析激活路径(仅用于参考,Python 脚本通常直接 import)


activate = next(
line.split(:, 1)[1] for line in result.stdout.splitlines()
if line.startswith(PYTHONENVACTIVATE:)
)

环境路径规范

平台激活命令
Linux / macOSsource ~/.pythonenv/3.11/bin/activate
Windows (Git Bash)
source ~/.pythonenv/3.11/Scripts/activate | | Windows (PowerShell) | & $env:USERPROFILE\.python_env\3.11\Scripts\Activate.ps1 |

uv 自动安装

平台安装方式安装路径
Linux / macOScurl / wget 管道 sh~/.local/bin/uv
Windows
PowerShell irm | %USERPROFILE%\.local\bin\uv.exe |

安装成功后脚本会提示将对应目录加入 PATH 以永久生效。

常见问题

Q: 想重置某个版本的环境
删除目录后重新调用即可自动重建:
bash
rm -rf ~/.python_env/3.11
bash ensurepythonenv.sh 3.11

Q: uv 找不到指定的 Python 版本
uv 会自动从官方源下载对应版本的 Python,需要网络可访问 python.org。

Q: Windows PowerShell 执行策略报错
以管理员身份运行:Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 skill-python-env-1775923801 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 skill-python-env-1775923801 技能

通过命令行安装

skillhub install skill-python-env-1775923801

下载

⬇ 下载 skill-python-env v1.0.0(免费)

文件大小: 8.07 KB | 发布时间: 2026-4-12 11:25

v1.0.0 最新 2026-4-12 11:25
Initial release of skill-python-env – internal Python virtual environment manager for other skills:

- Provides shared Python virtual environments by version under ~/.python_env/ for other skills to reuse.
- Automatically installs uv if not present; no manual intervention needed.
- Includes both shell (ensure_python_env.sh) and Python (ensure_python_env.py) scripts for integration.
- Outputs machine-readable environment details (activate path, dir, version) at completion.
- Not directly user-facing; intended for invocation by other skills needing Python environments.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部