目录
- 1️⃣ `conda pack`
- 2️⃣ `-n lerobot`
- 3️⃣ `-o ~/lerobot_env.tar.gz`
- 4️⃣ `--ignore-editable-packages`
- 5️⃣ 命令整体意思
- 6️⃣ 打包后的典型使用流程
- ① 打包
- ② 复制到另一台机器
- ③ 解压
- ④ 修复路径
- 7️⃣ 最终使用
这条命令是把一个 Conda 环境打包成一个压缩文件,方便在别的机器上直接解压使用。我们逐部分拆开理解:
conda pack -n lerobot -o ~/lerobot_env.tar.gz --ignore-editable-packages1️⃣conda pack
conda pack是一个工具,用来打包已有的 Conda 环境。
作用类似:
把环境里的
- Python
- 所有依赖包
- 可执行文件
全部打包成一个可迁移的压缩包。
常见用途:
- 在服务器之间复制环境
- 在无网络机器部署环境
- 在Docker / 机器人 / 集群节点部署
例如:
conda pack -n myenv -o myenv.tar.gz2️⃣-n lerobot
指定要打包的conda环境名称
意思是:
打包名为 lerobot 的环境例如:
conda env list可能看到:
base lerobot ros_env这里就是打包lerobot。
3️⃣-o ~/lerobot_env.tar.gz
指定输出文件
-o = output输出路径:
~/lerobot_env.tar.gz解释:
| 部分 | 含义 |
|---|---|
~ | 用户 home 目录 |
lerobot_env.tar.gz | 压缩包名字 |
最终得到:
/home/username/lerobot_env.tar.gz4️⃣--ignore-editable-packages
意思是:
忽略 editable 模式安装的 Python 包
例如这种安装方式:
pip install -e .或
pip install -e /path/to/project这种包其实只是:
site-packages -> 指向源码目录例如:
site-packages/mypkg -> /home/user/project/mypkg如果打包:
conda-pack它会发现:
源码不在conda环境里就可能报错。
所以加上:
--ignore-editable-packages意思是:
这些 editable 包不打包5️⃣ 命令整体意思
完整翻译:
将名为lerobot的 conda 环境打包成
~/lerobot_env.tar.gz压缩包,
并忽略 editable 模式安装的包。
6️⃣ 打包后的典型使用流程
① 打包
conda pack -n lerobot -o lerobot_env.tar.gz② 复制到另一台机器
scp lerobot_env.tar.gz user@server:/home/user③ 解压
mkdir lerobot_env tar -xzf lerobot_env.tar.gz -C lerobot_env④ 修复路径
cd lerobot_env ./bin/conda-unpackconda-unpack会修复:
硬编码路径例如:
/home/old_user/miniconda/envs/lerobot变成
/home/new_user/lerobot_env7️⃣ 最终使用
直接:
source lerobot_env/bin/activate或者:
lerobot_env/bin/python就可以运行。