用途:当工作流需要缺失的 Python 依赖时,通过项目环境管理器添加该依赖;若环境未被托管(env.managed 为 false),则请用户自行安装。该技能是唯一了解 python -m skore_skills env add 的技能,调用方不应自行拼接环境管理器命令。
主要能力与流程:先运行 python -m skore_skills status 与 env detect 检查环境状态。若 policy.env.managed 为 null,则环境未确定:若已安装 setup-ml-project 就加载它并停止,否则说明环境未确定并停止,不在此处引导初始化。随后对本次添加进行分类:仅当用户要求安装工作区包或 setup-ml-project 选中该项时才视为可编辑包;包为 Skore 时走 Skore 分支;否则按命名依赖处理,命名依赖绝不使用 --editable。
使用方式:可编辑且 has_src 为真时执行 python -m skore_skills env add --editable --execute,pixi 项目中不要用 pip install -e .。包为 Skore 时读取 policy.skore_mode 并执行 python -m skore_skills env add-skore --mode <mode> --execute,模式未设置时回到 evaluate-ml-pipeline,不自行拼写 skore[...] 或选择 conda 与 PyPI。其他包先运行 python -m skore_skills env route <pkg>,仅使用本次返回的 scope:default 走 env add --execute <pkg>,agent 走 env add --feature agent --execute <pkg>,ask 则只问一个问题并停止,refuse 则停止。managed 为 true 且 scope 非 refuse 时,给这一条命令传 --execute;不要凭记忆粘贴 pixi add / uv add / pip install。
skrub 场景:需要 Graphviz 以渲染 DataOp HTML 图,即使 skrub 已可导入也要处理。添加后运行 python -m skore_skills env graphviz,按返回执行或询问。
限制:未托管环境不要执行 --execute,只展示 print-only 输出中的管理器命令;不要自行发明 brew/apt/dnf 等修复命令;执行失败时引用其修复诊断并结束该安装序列。