SuperAPI AI 工具集

hf-cloud-python-env-setup

编程与开发

查看项目

更新于 10-16 03:37

技能介绍

用途:在执行 AWS Python 代码(尤其 SageMaker 部署与自动化)前,创建隔离、版本正确的 Python 环境,规避因 Python 版本、依赖解析或 SDK 过旧导致的失败。

主要能力与规则:不用系统 Python,始终在隔离环境中工作;固定 Python 版本(3.10/3.11/3.12),避免 3.13+(ML 库 wheel 滞后、依赖解析易出错);安装各包最新版而不是防御性固定版本;用 importlib.metadata.version("package-name") 检查版本,而不用 module.version。捆绑脚本(deploy.py、deploy_async.py、teardown.py)直接用 boto3,从 AWS 发布的 Deep Learning Containers 目录读取镜像 URI;也可使用 SageMaker Python SDK(v3)。

使用方式:最快用捆绑脚本,跨平台同一 Python 命令: python3 scripts/setup_env.py(macOS/Linux) python scripts/setup_env.py(Windows) 脚本检测 uv 优先使用,否则回退 stdlib venv,创建 .venv/(默认 Python 3.12,可用 python3 setup_env.py .venv 3.11 覆盖),拒绝不支持的版本,按捆绑 requirements.txt 安装,且幂等。手动等价命令: uv venv --python 3.12 .venv uv pip install --python .venv/bin/python --upgrade boto3 awscli(Windows: .venv\Scripts\python.exe) 回退:python3.12 -m venv .venv .venv/bin/python -m pip install --upgrade pip boto3 awscli 设置后显式调用环境解释器而非激活:.venv/bin/python deploy.py(macOS/Linux);.venv\Scripts\python.exe deploy.py(Windows)。验证:.venv/bin/python scripts/check_versions.py,可传包名。

适用场景:SageMaker 部署、AWS 自动化、需要 huggingface_hub、transformers 等部署扩展时按其需求添加到项目专属 requirements 文件并用环境 Python 安装。

限制与注意事项:SDK 有两个需留意的情况——生成式重排器(如 Qwen3-Reranker)会被 SDK 无条件路由到 TEI,需显式传容器;SSO 假定角色凭证下 v3 在 ModelTrainer/FrameworkProcessor 曾出现凭证解析回归,若 SDK 报凭证错误而 aws sts get-caller-identity 正常,应怀疑此问题。常见坑:pip 解析错误多因 Python 3.13+ 或污染的系统 Python,重建 3.12 环境;装了却报 module not found,是解释器不一致,需显式调用;PowerShell 内联 python -c 引号易出错,应写成 .py 文件;boto3 报 unknown parameter 说明版本过旧,应升级而非降级脚本;装了 sagemaker 不影响捆绑脚本,后者只需 boto3/awscli。资料未提供更多价格或平台细节。