背景:在网络良好的环境下搭建的环境可否在无网环境下复现的问题;或者说开发环境快速复制的实现问题。
1. 安装 conda
见链接。
2. 创建单独的打包环境
conda create -n pack python==3.10 -y
conda activate pack
conda install conda-pack
3. 将目标环境打包成压缩文件
例如我们将构建好的用来跑 sam2 的环境进行复制,这个时候我们先将这个环境整体打包成一个 .tar.gz 文件。
conda pack -n sam2 -o sam2.tar.gz
注意目前还是在 conda 的 pack 环境下。
4. 将打包好的环境通过 scp 发送到另外一个服务器上
如果是在云服务器之间复制环境就这么做,如果是复制到完全的离线环境中,那么就使用 U 盘拷贝。
scp 压缩文件全路径 username@ip:/home/username/需要放置的路径
# 举个例子:scp sam2.tar.gz ubuntu@117.50.89.192:/home/ubuntu/mycode
5. 手动创建 conda 的环境
使用下面的指令链接上远程的云服务器:
ssh ubuntu@117.50.89.192
# 输入远程主机密码
cd ~/mycode
注意这个时候在远程操作云服务器中:
cd ~/mycode
mkdir -p ~/miniconda3/envs/sam2_remote
tar -xzf sam2.tar.gz ~/miniconda3/envs/sam2_remote/
conda info --envs # 查看解压完毕之后 conda 环境中会不会多出来 sam2_remote 这个新的环境
conda activate sam2_remote
~/miniconda3/envs/sam2_remote/bin/conda-unpack
6. 检测效果
注意这个时候的环境处于 sam2_remote 之下,参考这个链接完成 sam2 的复现,这次就可以跳过复杂的以来安装了。
两个小技巧:1.
su -sh sam2.tar.gz可以用来查看压缩之后的文件大小,如果太小那肯定是出了问题。2.exit指令用来退出远程连接。
3460

被折叠的 条评论
为什么被折叠?



