服务器间迁移conda环境

注意:可使用迁移miniconda文件 or 迁移yaml文件两种方式,推荐前者,基本无bug!

一、迁移miniconda文件:

  1. 拷贝旧机器的miniconda文件文件到新机器:
    内网拷贝:scp -r mazhf@192.168.1.233:~/miniconda3 ~/
    外网拷贝:scp -r -P 601 mazhf@aiot.776.org:~/miniconda3 ~/
  2. 如果新机器无miniconda:向bashrc文件添加conda目录,否则,需要移除 or 迁移走新机器的miniconda,并忽略这步
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/mazhf/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/mazhf/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/mazhf/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/mazhf/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<
  1. 初始化conda:conda init
    在这里插入图片描述
  2. 退出shell并重进:exit
  3. 获取到和旧机器完全相同的环境:conda activate torch

二、迁移yaml文件:

  1. 导出旧机器的环境到yaml文件:conda activate torch && conda env export > torch.yaml
  2. 拷贝yaml文件文件到新机器:scp -r mazhf@192.168.1.233:~/torch.yaml ~/
  3. 新机器下载miniconda: wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
  4. 新机器安装miniconda: chmod 777 Miniconda3-latest-Linux-x86_64.sh && sh Miniconda3-latest-Linux-x86_64.sh
  5. 新机器导入环境:conda env create -f torch.yaml,一次性安装较为缓慢,不要急
  6. 激活环境:conda activate torch
  7. 注意: 如果找不到旧环境的某些包导致安装中断,可先注释掉无法下载的包,安装完毕后再使用pip install package -f url自行安装。此外,如果安装缓慢,可更换channels,应该是pip和conda的源都可添加,本人未尝试,见图
  8. yaml文件:
    在这里插入图片描述
### Ubuntu系统中迁移Conda虚拟环境的方法 在Ubuntu系统中迁移Conda虚拟环境可以通过多种方法实现,其中一种高效的方式是利用`conda-pack`工具。以下是关于如何使用该工具以及另一种基于手动压缩和修改路径的方法的具体说明。 #### 使用 `conda-pack` 工具迁移 Conda 虚拟环境 `conda-pack` 是一个专门用于打包 Conda 环境以便于迁移的工具。它能够将整个环境及其依赖项打包成一个可移植的文件夹结构,从而方便地将其移动到其他机器上并重新激活[^1]。 1. **安装 conda-pack** 首先需要确保目标环境中已安装 `conda-pack`。如果尚未安装,则可通过以下命令进行安装: ```bash conda install -c conda-forge conda-pack ``` 2. **创建打包文件** 接下来,在源计算机上的终端执行如下命令以打包指定名称的 Conda 环境(假设环境名为 myenv): ```bash conda pack -n myenv -o myenv.tar.gz ``` 此操作会生成一个 `.tar.gz` 文件,包含了完整的 Conda 环境配置及相关库文件。 3. **传输至新设备** 将上述生成的压缩包通过 SCP 或 FTP 等方式传送到目标主机。 4. **解压与设置** 在接收端解压此档案,并进入相应目录运行初始化脚本使环境生效: ```bash mkdir -p ~/myenv && tar -xzf myenv.tar.gz -C ~/myenv source ~/myenv/bin/activate ``` #### 手动压缩与调整路径法 除了借助第三方插件外,还可以采用更为基础的手工处理流程来达成相同目的[^2]: 1. **定位原始位置** 定位当前用户的 Anaconda 或 Miniconda 的根目录,默认情况下可能是 `/home/[用户名]/anaconda3` 或者类似的路径。找到具体要导出的那个子环境的位置,比如位于 `~/anaconda3/envs/myenv`. 2. **备份关键组件** 不仅需关注单独的 env 子文件夹,还应考虑共享的基础资源存储区——即 pkgs 目录的内容也至关重要。因此建议一并将它们整体归档保存起来再转移过去。 可以分别针对两个部分实施打包动作: ```bash tar cvfz myenv_env.tgz ~/anaconda3/envs/myenv/ tar cvfz packages_pkgs.tgz ~/anaconda3/pkgs/ ``` 3. **上传数据到远程服务器** 利用 scp 命令或者其他网络服务手段把刚才制作好的两份存档发送给远端节点。 4. **恢复原貌** 登陆到新的 Linux 主机之后,按照先前记录下的相对关系还原这些资料回到相似架构之中;最后记得修正某些可能因迁移而错乱掉的关键链接地址信息,例如编辑器打开 pip 启始行确认指向无误即可正常使用原有设定。 ```bash vim /home/[实际名]/condadir/envs/[实际环境名]/bin/pip ``` ```python # 示例 Python 版本验证代码片段 import sys print(sys.version) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值