不同服务器之间迁移conda环境(直接下载环境迁移法)

首先找到旧服务器要迁移的环境的目录

  • 输入
conda env list

就能看见如下输出了

(base) root@autodl-container-c1a240af40-e064c9ed:~/autodl-tmp/work/lip_alignment# conda env list
# conda environments:
#
PRO_NAME                 /root/autodl-tmp/conda/envs/PRO_NAME
wav2lip             /root/autodl-tmp/conda/envs/wav2lip

比如这里我的旧环境叫做wav2lip,直接去到该路径把 wav2lip整个压缩

在这里插入图片描述

然后直接下载下来,接下来把这个压缩包移植到你新服务器对应的conda默认存放envs的地方,然后你conda env list就能看到你的新环境了,但是pip list肯定不行,这时候你可以输入:

cat /root/autodl-tmp/conda/envs/easy-wav2lip/bin/pip

查看你pip执行文件的头

在这里插入图片描述
这里肯定是显示的你旧的服务器的那个bin的路径,如果你新服务也是这个路径就没问题,如果新服务器存放conda envs的地方变了就用一个脚本批量转换一下:



批量转换

编写一个脚本替换该环境中老的解释器路径

vim fix_shebangs.sh


下面的OLD_PATH是旧服务器的环境执行地址,下面NEW_PATH是新服务器的地址,记得改成你自己的!!!

#!/bin/bash

# 设置旧的和新的 Python 解释器路径
OLD_PATH="/root/miniconda3/envs/wav2lip/bin/python"
NEW_PATH="/root/autodl-tmp/conda/envs/wav2lip/bin/python"

# 遍历环境中的所有可执行文件
for file in /root/autodl-tmp/conda/envs/easy-wav2lip/bin/*; do
    if [[ -f $file && -x $file ]]; then
        # 读取文件的前一行
        head -n 1 "$file" | grep -q "$OLD_PATH"
        if [[ $? -eq 0 ]]; then
            echo "Updating shebang in $file"
            sed -i "1s|$OLD_PATH|$NEW_PATH|" "$file"
        fi
    fi
done

echo "Shebangs updated."
  • 添加权限
chmod +x fix_shebangs.sh
  • 执行
./fix_shebangs.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PENG越

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值