SageMaker Python 环境管家
为 SageMaker 与 AWS 任务创建隔离且版本正确的 Python 环境。
证据显示技能要求使用隔离环境、禁止污染系统 Python,并通过标准 venv 或 uv 安装依赖;脚本没有明显恶意行为或凭据窃取逻辑。扣分原因是依赖未固定、直接从外部包源安装,且未要求用户确认安装或披露网络/供应链风险,也没有明确的数据流、权限边界和回滚方案。
SKILL.md、setup_env.py 和 check_versions.py 在版本检查、跨平台解释器路径、环境复用及安装失败反馈方面基本一致。扣分原因是本次未执行验证,requirements.txt 未包含在给定材料中,且没有针对关键路径的测试;uv、目标 Python 或包源异常时的诊断覆盖有限。静态校准下不超过10分。
目标用户、SageMaker/AWS 场景、Python 3.10–3.12 范围和 Windows/macOS/Linux 用法较明确。扣分原因是非 AWS/SageMaker 场景边界、触发排除条件和输入输出契约不够明确;文档仅英文,且核心安装依赖 PyPI/uv 与 AWS 生态,未证明在中国大陆网络环境中稳定可达。
文档有 frontmatter、分层说明、脚本用法、验证命令、常见故障和 Apache-2.0 许可;README 说明了仓库级安装与生成流程。扣分原因是选定技能没有独立版本、变更记录、维护责任人或明确更新路径,requirements.txt 内容未提供,依赖和已知限制披露不完整。
技能直接提供创建环境、安装 boto3/awscli 和检查版本的脚本,能够覆盖核心环境准备任务,且显式调用解释器具有实际价值。扣分原因是依赖清单缺失使完整性无法核验,使用最新未锁定版本可能造成漂移,未提供代表性执行结果或与手工流程的量化比较;静态校准下不超过7分。
源文件包含可审计的 Python 实现、具体命令和失败信息,README 及 CI 能证明仓库有生成文件校验流程。扣分原因是没有提交覆盖该技能关键路径的测试或真实执行证据,CI 工作流未显示对 setup_env.py/check_versions.py 的行为验证,且本次未执行;静态校准下不超过5分。
- requirements.txt 未出现在提供的源材料中,无法静态确认实际安装的依赖、版本范围或安全状态。
- 脚本默认安装最新 boto3/awscli,可能引入不可重复构建或兼容性漂移;建议在生产环境使用经过审查的锁定依赖。
- 安装依赖和 AWS 工作流依赖外部网络与云服务;未提供中国大陆网络可达性、镜像或离线方案。
- 技能要求直接创建或重建 .venv,但未定义用户确认、备份或回滚机制。
这个 Skill 能做什么,适合哪些场景?
该技能为 SageMaker 部署、训练任务和 AWS 自动化准备隔离的 Python 环境。它要求使用 Python 3.10、3.11 或 3.12,并安装最新版 boto3 与 awscli。技能提供环境创建、版本检查和常见故障排查指导,避免使用系统 Python。它也说明了直接使用 boto3 与采用 SageMaker Python SDK 的适用边界。
运行 bundled 的 setup_env.py,检测可用的 uv 或回退到标准库 venv,创建 .venv 并安装 requirements.txt;支持指定 Python 版本和环境目录。指导用户通过环境解释器安装依赖、运行部署脚本,并使用 check_versions.py 和 importlib.metadata.version() 检查 boto3、botocore、awscli 或其他包的版本。还记录 Python 版本不兼容、解释器混用、PowerShell 引号和过时 boto3 等常见问题的处理方式。
- 准备在 SageMaker 上部署模型的开发者,需要一个可重复的隔离环境。
- 启动 SageMaker 训练任务前,需要确保 Python 和 boto3 API 版本合适的工程师。
- 编写 AWS 自动化脚本、即将运行 pip install 或调用 boto3 的用户。
- 遇到依赖解析错误、模块找不到或 boto3 unknown parameter 错误的用户。
- 已经使用 SageMaker Python SDK,但需要理解其与 bundled boto3 脚本关系的团队。
这个 Skill 有哪些优点和局限?
- 明确禁止使用系统 Python,降低环境污染和依赖冲突风险。
- 支持 uv 与标准库 venv,并覆盖 macOS、Linux 和 Windows 的命令形式。
- 强调使用最新版 boto3 和正确的 importlib.metadata 版本检查方式。
- 涵盖 SageMaker SDK、生成式 reranker 和 SSO assumed-role 等具体注意事项。
- 只针对 SageMaker / AWS Python 工作流,不是通用的 Python 项目环境管理器。
- 默认安装策略偏向最新版包;需要固定版本的项目必须自行提出并管理 pin。
- 源材料没有提供测试套件或平台实测结果。
- 网络安装和本地文件系统操作是实际运行环境设置的必要条件。
如何安装这个 Skill?
在 Codex 等支持 Agent Skills 的客户端中,将仓库 skills/hf-cloud-python-env-setup/ 目录复制或 symlink 到项目的 .agents/skills,或其他标准 .agents/skills 位置。README 未提供该单个技能的独立安装命令;仓库整体可通过其文档中的客户端安装方式获取。
如何使用这个 Skill?
向编码代理提出类似“为我的 SageMaker 部署设置隔离 Python 环境,并验证 boto3、botocore 和 awscli 版本”的请求。随后运行 python3 scripts/setup_env.py(Windows 使用 python scripts/setup_env.py),并明确调用 .venv/bin/python deploy.py;Windows 使用 .venv\Scripts\python.exe deploy.py。可运行 .venv/bin/python scripts/check_versions.py 检查版本,或追加包名进行检查。
这个 Skill 与同类方案有什么区别?
相比手动创建 venv,bundled 的 setup_env.py 会检测 uv、限制 Python 版本、安装依赖并保持幂等;手动方式仍可使用 uv venv 或 python3.12 -m venv。SageMaker Python SDK v3 是明确提到的替代方案,但 bundled 脚本本身直接使用 boto3。