name: msmodeling-env-installer
description: Install and verify the msmodeling development environment. Use when the user explicitly asks to install msmodeling dependencies, set up this repository, create myenv with uv, install this repository's requirements.txt, set project PYTHONPATH, or configure HF_ENDPOINT; if the user only says to install an environment, ask whether they mean msmodeling dependencies before proceeding.
version: 0.2.2
source: local-session-analysis
msModeling 环境安装器
适用场景
直接使用本 skill 的场景:
- 用户明确要求安装 msmodeling 环境依赖、初始化 msmodeling 开发环境或按 msmodeling README 配置环境。
- 用户明确要求在当前 msmodeling 仓库中创建
myenv。 - 用户明确要求安装当前仓库的
requirements.txt。 - 用户明确要求检查当前 msmodeling Python 依赖。
- 用户明确要求为当前 msmodeling 会话配置
PYTHONPATH。 - 用户明确要求配置 Hugging Face 镜像
HF_ENDPOINT=https://hf-mirror.com。 - 用户已有 Python 环境,并明确希望为 msmodeling 执行 fallback 依赖安装。
需要先确认的场景:
- 用户只说“安装环境”“安装依赖”“配置环境”“初始化环境”,但没有明确说明是 msmodeling、本仓库、
requirements.txt、myenv或uv。 - 当前仓库后续可能存在其他环境安装工具时,不能默认选择本 skill。
遇到上述模糊请求时,先向用户确认:
你是要安装 msmodeling 当前仓库的环境依赖吗?确认后我会使用 msmodeling-env-installer 执行。
只有用户确认后,才继续执行本 skill 的安装流程。
默认策略
优先使用 README 推荐的 uv 流程创建独立虚拟环境,并在安装后执行依赖一致性检查。
默认值和约束:
- 默认虚拟环境名为
myenv。 - Python 最低版本为
3.10。 - 默认使用当前机器检测到的 Python 主次版本创建虚拟环境,避免
uv额外下载 Python;只有用户显式要求或本机不可用时才使用 README 示例中的3.13。 - 默认使用中科大 PyPI 镜像:
https://mirrors.ustc.edu.cn/pypi/web/simple。 - 默认不覆盖已有环境;如果
myenv已存在,需说明复用或重建的影响。 - 默认不持久化系统环境变量,只设置当前 shell 会话或给出可执行命令。
- 涉及网络安装时,先展示将执行的命令,并按当前工具权限请求用户授权。
环境选择策略
根据当前运行环境选择自动化脚本:
| 当前环境 | 优先命令 |
|---|---|
| Windows PowerShell | .\\skills\\msmodeling-env-installer\\scripts\\install-current-project-deps.ps1 |
| Linux/macOS Bash | bash ./skills/msmodeling-env-installer/scripts/install-current-project-deps.sh |
| WSL/Git Bash | bash ./skills/msmodeling-env-installer/scripts/install-current-project-deps.sh |
如果当前 shell 与操作系统不匹配,优先选择当前 shell 可直接执行的脚本。例如在 Windows 的 Git Bash 中使用 .sh,在 Windows PowerShell 中使用 .ps1。
工作流程
- 确认用户意图明确指向 msmodeling 环境依赖;如果只是泛化的“安装环境”,先询问是否安装 msmodeling 当前仓库的环境依赖。
- 检查当前目录是否为 msmodeling 仓库根目录,至少包含
README.md和requirements.txt。- 若当前目录不是 msmodeling 仓库根目录,先检查当前目录下是否已有
msmodeling/README.md和msmodeling/requirements.txt;若存在,进入msmodeling后继续。 - 若当前目录及其下级
msmodeling/都不存在仓库,说明将创建msmodeling目录并从官方仓库克隆;获得授权后直接执行:git clone https://gitcode.com/Ascend/msmodeling.git cd msmodeling - 克隆后必须重新确认
README.md和requirements.txt存在,再继续环境安装。
- 若当前目录不是 msmodeling 仓库根目录,先检查当前目录下是否已有
- 检测
python、python3或 Windowspy -3,确认 Python 版本为3.10+。 - 检查
uv是否可用;缺失时用python -m pip install uv -i https://mirrors.ustc.edu.cn/pypi/web/simple安装。 - 安装或调用
uv后,解析真实uv可执行路径,不能假设当前 shell 的PATH已刷新。 - 选择安装路径:
- 新建
myenv:使用uv venv --python <detected-python-version> myenv。 - 已有环境 fallback:先检查当前环境不包含
torch_npu、torch-npu、cudatoolkit,再执行pip install -r requirements.txt。
- 新建
- 安装依赖:优先执行
uv pip install --python <venv-python> -r requirements.txt -i <mirror>。 - 按需设置当前会话环境变量:
PYTHONPATH指向 msmodeling 仓库根目录。HF_ENDPOINT设置为https://hf-mirror.com。
- 执行依赖检查:
uv pip check --python <venv-python>。- 已有环境 fallback 使用
python -m pip check。
- 向用户报告激活命令、安装结果、验证结果和后续建议。
命令模板
新建环境
pip install uv -i https://mirrors.ustc.edu.cn/pypi/web/simple
uv venv --python <detected-python-version> myenv
uv pip install --python <venv-python> -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple
激活命令:
| 操作系统 | 命令 |
|---|---|
| Linux/macOS/WSL/Git Bash | source myenv/bin/activate |
| Windows PowerShell | myenv\Scripts\Activate.ps1 |
| Windows cmd | myenv\Scripts\activate.bat |
已有环境 fallback
使用该路径前必须先检查当前环境:
python -c "import importlib.util, sys; sys.exit(0 if importlib.util.find_spec('torch_npu') else 1)"
python -m pip show torch-npu
python -m pip show torch_npu
python -m pip show cudatoolkit
如果任一检查显示包存在,不要默认继续 fallback。建议用户新建 myenv,或让用户明确确认继续使用该环境。
python -m pip install -r requirements.txt
python -m pip check
环境变量
Linux/macOS/WSL/Git Bash:
export PYTHONPATH="$(pwd):${PYTHONPATH:-}"
export HF_ENDPOINT="https://hf-mirror.com"
Windows PowerShell:
$env:PYTHONPATH = "$(Get-Location);$env:PYTHONPATH"
$env:HF_ENDPOINT = "https://hf-mirror.com"
自动化脚本
仓库内脚本:
| 脚本 | 适用环境 |
|---|---|
scripts/install-current-project-deps.ps1 |
Windows PowerShell |
scripts/install-current-project-deps.sh |
Linux/macOS/WSL/Git Bash |
脚本会先确认当前目录是否为 msmodeling 仓库根目录;如果当前目录下已有 msmodeling/ 仓库则自动进入;如果两者都不存在,则按 optix-deploy 的方式从 https://gitcode.com/Ascend/msmodeling.git 克隆后再继续安装。
PowerShell 参数:
| 参数 | 说明 |
|---|---|
-EnvName |
虚拟环境目录名,默认 myenv |
-PythonVersion |
uv venv 使用的 Python 版本,默认使用检测到的本机 Python 主次版本 |
-UseExistingEnv |
跳过新建 venv,使用已有环境安装依赖 |
-SetProjectEnv |
为当前 PowerShell 会话设置 PYTHONPATH |
-UseHFMirror |
为当前 PowerShell 会话设置 HF_ENDPOINT |
-UseProjectUvCache |
默认启用,将 UV_CACHE_DIR 指向仓库内 .uv-cache |
Bash 参数:
| 参数 | 说明 |
|---|---|
--env-name <name> |
虚拟环境目录名,默认 myenv |
--python-version <version> |
uv venv 使用的 Python 版本,默认使用检测到的本机 Python 主次版本 |
--use-existing-env |
跳过新建 venv,使用已有环境安装依赖 |
--set-project-env |
输出并为当前脚本进程设置 PYTHONPATH |
--use-hf-mirror |
输出并为当前脚本进程设置 HF_ENDPOINT |
--no-project-uv-cache |
不设置仓库内 .uv-cache 作为 UV_CACHE_DIR |
示例:
.\skills\msmodeling-env-installer\scripts\install-current-project-deps.ps1
.\skills\msmodeling-env-installer\scripts\install-current-project-deps.ps1 -SetProjectEnv -UseHFMirror
.\skills\msmodeling-env-installer\scripts\install-current-project-deps.ps1 -UseExistingEnv
bash ./skills/msmodeling-env-installer/scripts/install-current-project-deps.sh
bash ./skills/msmodeling-env-installer/scripts/install-current-project-deps.sh --set-project-env --use-hf-mirror
bash ./skills/msmodeling-env-installer/scripts/install-current-project-deps.sh --use-existing-env
安全规则
- 不修改
requirements.txt、README 或项目源码。 - 不在未经确认时执行网络安装、删除环境或覆盖已有虚拟环境。
- 用户请求不明确时,不默认执行 msmodeling 环境安装,必须先确认。
- 不默认持久化系统级环境变量。
- fallback 安装前必须检查
torch_npu、torch-npu和cudatoolkit。 - Windows 下如遇 PyTorch 兼容问题,提醒用户 README 中的 Windows PyTorch 版本风险;未安装 PyTorch 时优先建议
2.8或更早版本。 - 失败时保留完整命令、关键错误、失败阶段和最小修复建议。
完成标准
- 用户意图已确认指向 msmodeling 环境依赖。
- 仓库根目录、Python 版本、
uv可用性检查完成。 - 依赖安装流程完成,或失败原因已明确分类。
pip check或uv pip check --python <venv-python>已执行并报告结果。- 输出用户后续可直接执行的激活命令。
- 明确说明当前会话是否设置了
PYTHONPATH或HF_ENDPOINT。