conda特定环境打包

目录

    • [1️⃣ `conda pack`](#1️⃣ conda pack)
    • [2️⃣ `-n lerobot`](#2️⃣ -n lerobot)
    • [3️⃣ `-o ~/lerobot_env.tar.gz`](#3️⃣ -o ~/lerobot_env.tar.gz)
    • [4️⃣ `--ignore-editable-packages`](#4️⃣ --ignore-editable-packages)
    • [5️⃣ 命令整体意思](#5️⃣ 命令整体意思)
    • [6️⃣ 打包后的典型使用流程](#6️⃣ 打包后的典型使用流程)
      • [① 打包](#① 打包)
      • [② 复制到另一台机器](#② 复制到另一台机器)
      • [③ 解压](#③ 解压)
      • [④ 修复路径](#④ 修复路径)
      • [7️⃣ 最终使用](#7️⃣ 最终使用)

这条命令是 把一个 Conda 环境打包成一个压缩文件,方便在别的机器上直接解压使用。我们逐部分拆开理解:

复制代码
conda pack -n lerobot -o ~/lerobot_env.tar.gz --ignore-editable-packages

1️⃣ conda pack

conda pack 是一个工具,用来 打包已有的 Conda 环境。

作用类似:

  • 把环境里的

    • Python
    • 所有依赖包
    • 可执行文件

全部打包成一个 可迁移的压缩包。

常见用途:

  • 在 服务器之间复制环境
  • 在 无网络机器部署环境
  • 在 Docker / 机器人 / 集群节点部署

例如:

复制代码
conda pack -n myenv -o myenv.tar.gz

2️⃣ -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.gz

4️⃣ --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-unpack

conda-unpack 会修复:

复制代码
硬编码路径

例如:

复制代码
/home/old_user/miniconda/envs/lerobot

变成

复制代码
/home/new_user/lerobot_env

7️⃣ 最终使用

直接:

复制代码
source lerobot_env/bin/activate

或者:

复制代码
lerobot_env/bin/python

就可以运行。

相关推荐
weixin_460443561 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
Cc.Y5 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
阿森_dev5 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209995 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说5 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha5 小时前
Lambda 表达式和函数式接口
java·开发语言
小白学大数据5 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
学逆向的6 小时前
win32注入代码
开发语言·网络安全·api·win32
Sarvartha6 小时前
内部类知识
java·开发语言
FPGA小徐7 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#