跳转至

安装

专门的安装检查清单。完整学习路径请从教程开始。

要求

要求 版本
Python 3.12 或更新
依赖管理 uv
仿真后端 genesis-world>=0.4.7
PyTorch 通过一个 torch-* extra 安装 torch>=2.8.0

同步环境

在仓库根目录:

uv sync --extra torch-cpu

只能选择一个 PyTorch extra:

Extra 目标
torch-cpu CPU-only 或非 NVIDIA 开发机器。
torch-cu126 兼容 CUDA 12.6 wheel 的 NVIDIA 驱动。
torch-cu128 兼容 CUDA 12.8 wheel 的 NVIDIA 驱动。
torch-cu130 兼容 CUDA 13.0 wheel 的 NVIDIA 驱动。

刷新已有 torch:

uv sync --reinstall-package torch --extra torch-cu128

运行命令

后续文档统一以genelab(以及裸 python)调用 CLI —— 而不是 uv run genelab

为什么不用 uv run

uv run 会在每条命令前隐式执行一次 uv sync。而 PyTorch 各构建是互斥的 extra (torch-cpu / torch-cu126 / torch-cu128 / torch-cu130),不在默认同步集合里, 因此每次 uv run 都会卸载并重装 torch、并改写上面选定的 extra —— 既慢,又可能悄悄把当前的 CUDA 构建换掉。请改用下面两种方式之一。

每个 shell 激活一次,之后就能按文档里的写法运行裸命令:

source .venv/bin/activate      # Windows:.venv\Scripts\activate
genelab --version

不想激活?给每条命令加 --no-sync 跳过隐式同步:

uv run --no-sync genelab --version

(文档里凡是 genelab …python …,都可读作 uv run --no-sync genelab …。)

为什么 uv syncuv pip install 仍保留 uv 前缀

真正的坑只有 uv run —— 它在执行前会重新解析项目并把 venv 同步到该状态。而 uv sync 是唯一一次有意指定 torch 构建的同步;uv pip install -e … 则是 uv 的 pip 兼容安装器:它直接装进当前 venv,不会重新解析项目、也不碰 extra,因此绝不会重装 torch。 两者都可以放心保留。

创建本地缓存

genelab cache

该命令创建项目本地可写缓存目录,并把 XDG_CACHE_HOMEMPLCONFIGDIR 指向 .cache/

验证导入

python -c "import genelab; print(genelab.__version__)"
python -c "from genelab.lab import TaskCfg; print(TaskCfg.__name__)"
python -c "import torch; print(torch.__version__, torch.version.cuda)"
python -c "import genesis; print(genesis.__version__)"

安装示例扩展

核心包是框架;任务由扩展注册。

uv pip install -e examples/inverted_pendulum
uv pip install -e examples/genelab_examples
genelab list tasks

只有需要更大的人形机器人示例时再安装 Unitree:

uv pip install -e examples/unitree

另见