内网/网络差的条件下conda环境迁移

近日在用实验室的内网服务器跑实验,需要做环境迁移,之前遇到该类问题是直接scp将conda包中的envs对应的环境传到新机器上。

本次由于内网机器关闭了与外界的所有端口,只能通过web交互,故需要打包通过web上传。本文记录打包及上传过程

1. base环境安装conda pack

1
pip install conda-pack

2. 打包环境

1
conda pack -n distill
image-20240728200954675

报错:CondaPackError: Cannot pack an environment with editable packages installed

解决方案:忽略可编辑的包

1
conda pack -n distill -o mypack.tar.gz --ignore-editable-packages

3. 上传解压

  • 在envs下,mkdir hxw

  • 解压, tar -xzvf hxw.tar.gz -C hxw

4. 查看结果

1
conda env list

tar 打包文件夹

压缩:tar -cJvf distill.tar.xz distill/

目录排除: tar -cJvf distill.tar.xz —exclude=/path/output distill/

解压:tar -xvf distill.tar.xz -C ./

备注:

-c或–create 建立新的压缩文件。

-C<目的目录>或–directory=<目的目录> 解压到指定的目录

-x或–extract或–get 从压缩文件中还原文件。

-v或–verbose 显示指令执行过程。

-f<压缩文件>或–file=<压缩文件> 指定压缩文件。

-J<压缩文件> 压缩为xz格式。

-t 查看你目录结构