快速备份与恢复 Conda 环境
在日常开发中,Conda 环境是我们管理 Python 包与依赖的利器。但有时候我们需要迁移环境、备份环境,或者在新机器上快速还原环境。这边刚好在做毕设,所以涉及到快速迁移和配置自己配置好的机器学习/深度学习环境的事情,这里特别的记录一下!
一、快速备份 Conda 环境
最稳妥的方法是生成环境的 YAML 文件,它记录了环境名、Python 版本和所有包依赖。
1. 导出当前环境
# 查看当前环境
conda info --envs
# 假设要备份的环境名为 myenv
conda env export -n myenv > myenv_backup.yaml
这样就生成了一个 myenv_backup.yaml 文件,里面详细记录了环境信息。这个文件可以直接用于恢复环境。
Tip:如果你希望去掉绝对路径(避免不同机器问题),可以加上
--from-history,只保留用户安装的包:
conda env export -n myenv --from-history > myenv_backup.yaml
二、快速恢复 Conda 环境
1. 从 YAML 文件恢复
conda env create -f myenv_backup.yaml
Tip:如果你想用不同名字创建环境,可以加
-n new_env_name:
conda env create -f myenv_backup.yaml -n myenv_copy
2. 更新已存在环境
如果环境已经存在,想同步 YAML 文件里的包:
conda env update -n myenv -f myenv_backup.yaml
三、额外技巧
-
列出环境包(快速查看环境内容):
conda list -n myenv -
备份多个环境:
for env in $(conda env list | awk '{print $1}' | tail -n +4); do conda env export -n $env > ${env}_backup.yaml done -
迁移到新机器 :只需拷贝
*.yaml文件,然后用conda env create -f即可,一切依赖自动搞定。
总结一下:
-
conda env export -n 环境名 > 文件.yaml------ 备份环境 -
conda env create -f 文件.yaml------ 恢复环境 -
conda env update -n 环境名 -f 文件.yaml------ 更新环境