К основному содержанию
скилл CX Codex

hf-cloud-python-env-setup — скилл для Claude Code: установка

Скилл разворачивает изолированное окружение Python для работы с AWS и SageMaker. Он помогает избежать сбоев из-за несовместимых версий Python и устаревшего SDK boto3.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add huggingface/skills --skill hf-cloud-python-env-setup -a claude-code
Открыть на GitHub

Что делает hf-cloud-python-env-setup

Скилл изолирует среду под задачи AWS и SageMaker, запрещая ставить пакеты в системный Python. По умолчанию скрипт scripts/setup_env.py создаёт окружение .venv с Python 3.12. Если в системе установлен uv, скрипт задействует его для ускорения, а при его отсутствии переключается на стандартный модуль venv. При необходимости версию интерпретатора можно переопределить на 3.10 или 3.11.

Версии 3.13 и выше скилл намеренно исключает. Для них у библиотек машинного обучения часто отсутствуют готовые сборки (wheels), что приводит к сбоям резолвера pip. В окружение ставятся свежие boto3 и awscli без лишней фиксации версий, чтобы не ломать вызовы новых API.

После развёртывания агент запускает скрипты прямым вызовом бинарника вроде .venv/bin/python или .venv\Scripts\python.exe на Windows, не полагаясь на активацию шелла. Для проверки библиотек используется check_versions.py через importlib.metadata.version, так как атрибут __version__ есть не у каждого пакета.

Какие задачи решает

  • изолировать зависимости AWS и SageMaker от системного Python
  • развернуть виртуальное окружение с Python 3.12 через uv или venv
  • проверить установленные версии boto3 и awscli без ошибок импорта
  • предотвратить сбои сборки пакетов из-за несовместимости с Python 3.13+

Примеры запросов агенту

  • Подготовь изолированное окружение Python для деплоя модели в SageMaker
  • Настрой Python для скриптов автоматизации AWS через hf-cloud-python-env-setup
  • Проверь версии boto3 и awscli в локальном виртуальном окружении

Как установить hf-cloud-python-env-setup

1Через Skills CLI (Vercel)

npx skills add huggingface/skills --skill hf-cloud-python-env-setup -a claude-code

2Вручную: положить файлы

~/.claude/skills/hf-cloud-python-env-setup/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/hf-cloud-python-env-setup/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о hf-cloud-python-env-setup

Как установить hf-cloud-python-env-setup в Claude Code?

Выполните команду npx skills add huggingface/skills --skill hf-cloud-python-env-setup -a claude-code. Навык будет добавлен в конфигурацию агента.

Зачем нужен hf-cloud-python-env-setup?

Он создаёт предсказуемое окружение под AWS и SageMaker. Скилл ставит свежие boto3 и awscli, предотвращая конфликты зависимостей и случайную установку библиотек в системный Python.

Почему скилл запрещает использовать Python 3.13 и новее?

В ветках 3.13+ часто отсутствуют готовые wheels для библиотек машинного обучения. Это ломает установку через pip, поэтому окружение создаётся строго на версиях от 3.10 до 3.12.

Исходный текст

SKILL.md · Apache-2.0
---
name: hf-cloud-python-env-setup
description: 'Set up an isolated Python environment for SageMaker / AWS work, with the right Python version and current boto3. Use this skill whenever Python code will be executed for a SageMaker deployment, training job, or any AWS automation — including when about to run `pip install`, when about to invoke `boto3`, when creating or activating a virtualenv, or when the user asks to "set up the environment". Never use system Python and never `pip install` into it. Always isolate. This skill prevents the most common failure modes: wrong Python version, dependency conflicts, and stale SDKs.'
---

# Python Environment Setup for SageMaker

Most SageMaker deployment failures that look like AWS problems are actually Python environment problems: wrong Python version, broken dependency resolution, stale SDK that doesn't know about a current API. This skill makes env setup boring and correct.

## Core rules

1. **Never use the system Python.** Always work inside an isolated environment.
2. **Pin the Python version, not the package versions.** Use 3.10, 3.11, or 3.12. Avoid 3.13+ — ML libraries lag on wheel availability and dependency resolution breaks in confusing ways.
3. **Install the latest of each package.** Don't defensively pin `boto3` or `awscli`. Newer ones have current API surfaces and security fixes. Only pin if the user explicitly requires a specific version.
4. **Check installed versions correctly.** Use `importlib.metadata.version("package-name")`, never `module.__version__`. The latter is inconsistent across packages.
5. **The bundled scripts use `boto3` directly.** The SageMaker Python SDK is a valid alternative — see "boto3 vs the SageMaker SDK" below.

## boto3 vs the SageMaker SDK

The bundled deploy scripts (`deploy.py`, `deploy_async.py`, `teardown.py`) use `boto3` directly and read image URIs from [AWS's published Deep Learning Containers catalog](https://aws.github.io/deep-learning-containers/reference/available_images/). That fits this workflow's explicit-stages design — each skill produces a concrete value (region, role ARN, image URI) that the next one consumes — and `boto3` is the stable underlying API client.

The SageMaker Python SDK (v3) is fine to use when the user prefers it or their project already does. Since [PR #5960](https://github.com/aws/sagemaker-python-sdk/pull/5960) (June 2026), `ModelBuilder` auto-routes HuggingFace models to the current containers (text-generation → HuggingFace vLLM, multimodal → vLLM-Omni, embeddings → TEI). Don't avoid the SDK over stale-image or wrong-container concerns — that routing is fixed.

Two specific SDK cases that still need care:

- **Generative rerankers**: the SDK routes the `text-ranking` task to TEI unconditionally, which is wrong for causal-LM rerankers like Qwen3-Reranker — those need vLLM (see `hf-cloud-serving-image-selection`). Pass the container explicitly for these models.
- **SSO assumed-role credentials**: v3 has had credential-resolution regressions in `ModelTrainer` / `FrameworkProcessor` under SSO profiles. If SDK calls fail with credential errors while `aws sts get-caller-identity` succeeds in the same shell, suspect this rather than your AWS config.

If you use the SDK, install it into the isolated env like everything else (`.venv/bin/python -m pip install sagemaker`). The bundled scripts don't require it.

## How to set up

The fastest path is the bundled script — it's Python, so it runs the same on Windows, macOS, and Linux:

```bash
python3 scripts/setup_env.py        # macOS / Linux
python  scripts/setup_env.py        # Windows (PowerShell / cmd)
```

This script detects `uv` and uses it if available (faster), falls back to the stdlib `venv` module, creates `.venv/` with Python 3.12 (override: `python3 setup_env.py .venv 3.11`), refuses unsupported Python versions, installs from the bundled `requirements.txt`, and is idempotent. It also prints the correct interpreter path for the host OS (see below).

Manual equivalent:

```bash
# Preferred: uv
uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python --upgrade boto3 awscli   # Windows: .venv\Scripts\python.exe

# Fallback: stdlib venv
python3.12 -m venv .venv
.venv/bin/python -m pip install --upgrade pip boto3 awscli
```

After setup, **invoke the env's Python explicitly** rather than activating the venv. The interpreter path differs by platform:

```bash
.venv/bin/python deploy.py            # macOS / Linux
.venv\Scripts\python.exe deploy.py    # Windows
```

This works the same in scripts, interactive shells, and agent tool calls. The rest of this skill writes `.venv/bin/python` for brevity — on Windows substitute `.venv\Scripts\python.exe`.

## Verifying

```bash
.venv/bin/python scripts/check_versions.py
```

Prints versions of `boto3`, `botocore`, `awscli`. Uses `importlib.metadata.version()` so it works on every package, including ones without `__version__`. Pass arbitrary names: `... check_versions.py transformers huggingface_hub`.

## Deployment-specific extras

Default `requirements.txt` covers SageMaker orchestration. Some deployments need extras (`huggingface_hub` for model inspection, `transformers` for tokenizer validation). Add these to a deployment-specific requirements file in the project, install with the env's Python, don't pin unless there's a reason.

## Common pitfalls

**Mysterious `pip install` resolution errors**
Almost always Python 3.13+ trying to install packages without wheels yet, or installing into a polluted system Python. Recreate at 3.12: delete `.venv` and re-run `python3 setup_env.py .venv 3.12` (the script recreates the env when the version doesn't match, so you can also just re-run it).

**`pip install` succeeded but the script says "module not found"**
You installed into a different interpreter than the one running the script. Always invoke Python explicitly: `.venv/bin/python -m pip install ...` and `.venv/bin/python deploy.py`.

**Inline `python -c "..."` one-liners fail in PowerShell**
PowerShell's quoting rules mangle nested/escaped quotes in inline Python. Don't debug the quoting — write the snippet to a small `.py` file and run that. (All bundled helpers are files for exactly this reason.)

**boto3 call fails with "unknown parameter"**
Your boto3 is older than the API surface. Upgrade with `.venv/bin/python -m pip install --upgrade boto3`. Don't downgrade the script to match an old version.

**`sagemaker` (the SDK) installed but the bundled scripts fail**
The bundled scripts don't use the SDK — they only need `boto3`/`awscli` from `requirements.txt`. Installing `sagemaker` alongside is harmless, but it doesn't replace the requirements install.

© huggingface · Apache-2.0 · huggingface/skills

Похожие скиллы

Всё по теме «Облака: AWS, Azure, GCP» →
aws-sdk-python-usage aws Скилл задаёт правила кодинга на Python с библиотеками boto3 и botocore. Он подсказывает агенту, когда брать client или resource, как настраивать пагинацию и перехватывать ошибки AWS. CX Codex +1 7 800установок django-storages-s3 https://github.com/awais786 Скилл настраивает хранение статики и медиафайлов Django в AWS S3 через django-storages и boto3: словарь STORAGES, presigned-ссылки, CloudFront, IAM. CX Codex +1 900установок aws-cdk-python-setup официальный github Скилл помогает подготовить окружение для AWS CDK на Python, создать проект и выполнить деплой в AWS. Подойдёт для старта нового CDK-приложения. 1 600установок amazon-bedrock aws Скилл помогает настраивать Amazon Bedrock, от вызовов Converse API и RAG в Knowledge Bases до развёртывания агентов в AgentCore Harness. CX Codex +1 8 500установок sagemaker-ai awslabs Плагин для Claude, который ведёт от постановки задачи до деплоя модели на Amazon SageMaker AI и разбирает сбои кластеров HyperPod. ★ 927звёзд репо aws-lambda-python-integration giuseppe-trisciuoglio Подсказывает агенту, как писать и разворачивать Python-функции в AWS Lambda: Chalice или чистый Python, холодный старт, API Gateway и ALB. CX Codex +1 3 600установок

Из того же набора25

trl-training Помогает писать и отлаживать постобучение языковых моделей через TRL: SFT, DPO, GRPO, KTO и обучение модели награды. CX Codex +1 909установок hf-mem Считает, сколько памяти займёт модель с Hugging Face Hub при инференсе, и не скачивает веса. Пригодится, когда надо понять, влезет ли модель в GPU. CX Codex +1 858установок huggingface-lora-space-builder Создаёт и публикует веб-демо на Gradio в Hugging Face Spaces для весов LoRA. Подбирает пайплайн diffusers и интерфейс под задачу генерации на ZeroGPU. CX Codex +1 810установок hf-cloud-sagemaker-production-defaults Скилл создаёт SageMaker endpoint с автоскейлингом, CloudWatch-алармами и тегами. Он нужен для финального шага деплоя модели. CX Codex +1 549установок hf-cloud-sagemaker-deployment-planner Помогает выбрать способ развёртывания модели на Amazon SageMaker: real-time, async, serverless или batch. Пригодится, когда модель уже обучена, а с эндпоинтом ещё не решено. CX Codex +1 544установок hf-cloud-serving-image-selection Подбирает контейнер для деплоя модели на SageMaker и находит актуальный image URI. Пригодится, когда в коде деплоя нужно указать образ. CX Codex +1 544установок hf-cloud-sagemaker-iam-preflight Проверяет и подбирает IAM-роль для SageMaker перед деплоем или обучением. Предотвращает ошибки AccessDenied при работе через SSO. CX Codex +1 542установок hf-cloud-aws-context-discovery Скилл определяет активный AWS-профиль, регион, аккаунт и ARN перед задачами с AWS. Нужен, чтобы агент не угадывал параметры окружения. CX Codex +1 541установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой