差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
机器人:openpi:openpi-docker镜像制作 [2025/10/22 09:34] – 创建 ctbots机器人:openpi:openpi-docker镜像制作 [2025/10/27 10:43] (当前版本) – [同步依赖并手动启动openpi05] ctbots
行 1: 行 1:
-====== 环境准备 ====== +====== 没有科学上网,手动安装openpi05 ======
-apt update  +
-apt install vim git clang+
  
-处理cpython路径$PATH +咱们假设背景是: 一台没有科学上网服务器,如何在不访问github的情况下,初始化并安装openpi05
-处理uv路径$PATH+
  
-处理setuptools>=40.8.0+===== 提前下载代码 ===== 
 +在科学的环境下
  
 +''git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
 +git submodule update --init --recursive''
  
 +然后保存好这个源代码目录,方便后续迁移到任意一台服务器上。
  
-====== 基本信息 ====== +===== 环境准备 =====
-uv的cache目录在 ~/.cache/uv 下+
  
 +进入准备好的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上的加速地址
 +
 +快速替换命令如下:
 +
 +<code shell >
 +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
 +</code>
 +===== 同步依赖并手动启动openpi05 =====
 +
 +''GIT_LFS_SKIP_SMUDGE=1 uv sync
 +GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .''
 +
 +我们应该是可以看到 光速完成;此时运行scripts里的推理,应该都是正常的。 这里不讨论 gs模型下载,可以自行离线下载
 +
 +如果是完全隔离内网的情况下,可能会出现下载部分资源失败的情况,因为有大约5M的文件需要运行时下载;如果完全隔离内网,可以手动复制进来。
 +
 +复制已经安装好的环境的 ~/.cache/openpi 目录把cache的缓存复制到docker容器里,即可不依赖外网直接启动。