高性能服务器配置经验指南7——基于tar命令打包存储conda虚拟环境
由于虚拟环境的迁移需求,有时需要打包虚拟环境以实现环境在不同设备之间的快速迁移,本文记录通过tar
打包conda虚拟环境并迁移到其他设备中的操作流程。
以我现在在用的虚拟环境为例(RTDETR):
一、环境备份
首先激活需要备份的环境,并查看当前激活的环境,确认一下:
conda info --envs | grep '*'
确认好激活的环境无误后,关闭当前环境正在运行的程序,避免打包过程中某些文件正在占用,导致无法正常打包。
进入环境所在的目录,这个目录可以通过刚才的命令得到,也就是这里:
然后使用tar
命令打包环境,命令的例子如下:
tar -czvf RTDETR_env_backup.tar.gz ./RTDETR
其中,压缩包会生成在环境所在的目录下,命名为RTDETR_env_backup.tar.gz
,等待整个环境打包完成即可。
二、环境恢复
将压缩包复制到新设备或者新路径下,记住路径,并创建一个新的文件夹以存储conda环境:
mkdir -p /new/path/to/envs
tar -xzvf RTDETR_env_backup.tar.gz -C /new/path/to/envs
此处我在我这个机器的conda环境下建了一个新的文件夹RTDETR_test用来测试效果:
首先看一下两个文件夹的大小:
可以看出,两个文件夹的大小一样,此处贴一下查看当前路径下所有子文件夹大小的命令:
du -h --max-depth=1
激活一下新环境:
# 此处用绝对路径,避免混淆
conda activate /CODE/Anaconda/envs/zsm/RTDETR_test/RTDETR/
激活成功:
运行一下代码试试:
成功运行!