====== 没有科学上网,手动安装openpi05 ====== 咱们的假设背景是: 一台没有科学上网的服务器,如何在不访问github的情况下,初始化并安装openpi05 ===== 提前下载代码 ===== 在科学的环境下 ''git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git git submodule update --init --recursive'' 然后保存好这个源代码目录,方便后续迁移到任意一台服务器上。 ===== 环境准备 ===== 进入准备好的GPU环境的服务器 ''apt update apt install -y vim git clang'' 准备下载[[https://github.com/astral-sh/uv/releases|离线的uv安装包]]到服务器上解压。 注意选择:linux x86字眼。 在线安装uv在不科学上网的情况下,比较难搞,有点煎熬 然后解压uv的安装包,配置 ~/.bashrc 增加path配置, export PATH=$PATH:/xxxx/uv的目录 然后下载cpython3.11 绿色版,因为openpi05要求是3.11版本,尽可能用绿色版本,避免直接用系统级python解释器,导致后续apt upgrade的时候被破坏。 [[https://github.com/astral-sh/python-build-standalone/releases|在这里找到合适版本的python]]并下载到本地: 然后配置 ~/.bashrc 注意这里的的PATH配置,一定要 export PATH=/python/xxxx/bin:$PATH , 确保我们的绿色版本的python的bin目录在$PATH前面,最高优先级。 然后配置 ~/.bashrc 增加 ''export UV_INDEX_URL="https://mirrors.ustc.edu.cn/pypi/simple/"'' 此时,source ~/.bashrc 应该会让python3.11 和 uv生效,而且使用的是镜像加速地址。 ===== 代码魔改 ===== 因为代码中某些部分,不是依赖pip的,而是直接依赖github的,导致不科学上网,无法git pull初始化,我们统一修改: 找到uv.lock 和 pyproject.toml 统一进行修改: 替换: https://github.com/huggingface/lerobot 为 https://gitee.com/caodev/mirror-lerobot 替换:https://github.com/kvablack/dlimp 为 https://gitee.com/caodev/mirror-dlimp 如果将来有新的库github无法替换,就换成gitee.com上的加速地址 快速替换命令如下: sed -i.bak -e 's|https://github.com/huggingface/lerobot|https://gitee.com/caodev/mirror-lerobot|g' -e 's|https://github.com/kvablack/dlimp|https://gitee.com/caodev/mirror-dlimp|g' uv.lock pyproject.toml && rm -f *.bak ===== 同步依赖并手动启动openpi05 ===== ''GIT_LFS_SKIP_SMUDGE=1 uv sync GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .'' 我们应该是可以看到 光速完成;此时运行scripts里的推理,应该都是正常的。 这里不讨论 gs模型下载,可以自行离线下载 如果是完全隔离内网的情况下,可能会出现下载部分资源失败的情况,因为有大约5M的文件需要运行时下载;如果完全隔离内网,可以手动复制进来。 复制已经安装好的环境的 ~/.cache/openpi 目录把cache的缓存复制到docker容器里,即可不依赖外网直接启动。