云计算百科
云计算领域专业知识百科平台

conda(复制环境)在不同服务器上迁移环境的方法

conda在不同服务器上迁移环境的方法

  • conda 复制环境(相同主机)
    • 使用命令行克隆环境
  • conda迁移环境
    • 方法一:复制pkgs和envs包(离线环境)
      • 快速打包方法
    • 方法二:environment.yml文件(目标主机有网)
      • 案例environment.yml文件内容(clip文件)
  • 可能会用到的命令
    • 压缩命令和解压命令:
    • 复制命令
  • **参考资料**:

conda 复制环境(相同主机)

使用命令行克隆环境

  • 打开Anaconda Prompt或终端。
  • 输入命令:conda create -n new_env –clone exist_env,其中new_env是新创建的虚拟环境名称,exist_env是被复制的已存在的环境名称。
  • 这条命令会创建一个名为new_env的新环境,该环境包含exist_env中的所有包和配置。

conda迁移环境

方法一:复制pkgs和envs包(离线环境)

  • 先把我们使用的conda环境中的pkgs包和envs包全部压缩,然后下载下来,上传到相对应的服务器上。
  • 之后我们把这些环境的pkgs包和envs包替换掉原服务器的pkgs包和envs包
  • 之后直接运行:
    • 查看环境 conda env list
    • 激活环境 source activate my_env
  • 就成功了。

    快速打包方法

    上面方法的是压缩envs包和pkgs包之后解压到目标主机,这里发现还有一种快速打包环境的方法:

  • 打包当前环境 使用conda pack命令将环境打包为一个.tar.gz文件:
  • conda pack n my_env o my_env.tar.gz

    其中,my_env 是你要打包的环境名称,my_env.tar.gz 是生成的压缩包文件名称。

  • 在目标电脑上还原环境 将 my_env.tar.gz 文件复制到目标电脑,在 anaconda/env 目录下创建目标文件夹并解压:
  • mkdir p my_env
    tar xzf my_env.tar.gz C my_env

    这一步将在 my_env 文件夹中解压环境文件。 3. 激活环境 解压完成后,直接激活环境即可:

    source activate my_env

    这样,目标电脑上将拥有与原电脑一致的 Conda 环境,无需重新安装包。

    方法二:environment.yml文件(目标主机有网)

    要在另一台电脑上复现你当前的 Conda 环境,可以导出当前环境的每个包的配置并在新电脑上重新创建该环境。以下是步骤:

  • 导出环境配置: 在你的当前环境中,使用以下命令导出环境配置到一个 yml 文件:
  • conda env export > environment.yml

    这会生成一个environment.yml文件,其中包含了环境中所有包及其版本信息。

  • 在另一台电脑上创建环境: 将environment.yml文件复制到另一台电脑上,然后在新电脑上使用以下命令创建环境:
  • conda env create f environment.yml

  • 激活新环境: 创建完成后,激活该环境:
  • conda activate your_environment_name

    其中your_environment_name是environment.yml文件中指定的环境名称。

    这样就可以在另一台电脑上复现相同的 Conda 环境了。

    案例environment.yml文件内容(clip文件)

    name: clip
    channels:
    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    defaults
    dependencies:
    _libgcc_mutex=0.1=main
    _openmp_mutex=5.1=1_gnu
    cacertificates=2024.9.24=h06a4308_0
    certifi=2022.12.7=py37h06a4308_0
    ld_impl_linux64=2.40=h12ee557_0
    libffi=3.4.4=h6a678d5_1
    libgccng=11.2.0=h1234567_1
    libgomp=11.2.0=h1234567_1
    libstdcxxng=11.2.0=h1234567_1
    ncurses=6.4=h6a678d5_0
    openssl=1.1.1w=h7f8727e_0
    pip=22.3.1=py37h06a4308_0
    python=3.7.16=h7a1cb2a_0
    readline=8.2=h5eee18b_0
    setuptools=65.6.3=py37h06a4308_0
    sqlite=3.45.3=h5eee18b_0
    tk=8.6.14=h39e8969_0
    wheel=0.38.4=py37h06a4308_0
    xz=5.4.6=h5eee18b_1
    zlib=1.2.13=h5eee18b_1
    pip:
    charsetnormalizer==3.4.0
    clip==1.0
    ftfy==6.1.1
    idna==3.10
    numpy==1.21.6
    nvidiacublascu11==11.10.3.66
    nvidiacudanvrtccu11==11.7.99
    nvidiacudaruntimecu11==11.7.99
    nvidiacudnncu11==8.5.0.96
    packaging==24.0
    pillow==9.5.0
    regex==2024.4.16
    requests==2.31.0
    torch==1.13.1
    torchvision==0.14.1
    tqdm==4.66.5
    typingextensions==4.7.1
    urllib3==2.0.7
    wcwidth==0.2.13
    prefix: /root/miniconda3/envs/clip

    可能会用到的命令

    压缩命令和解压命令:

    压缩命令: tar -cvf envs.tar envs

    tar -cvf pkgs.tar pkgs 解压命令: tar -xvf archive.tar

    复制命令

    cp envs.tar /root/anaconda3 cp pkgs.tar /root/anaconda3

    参考资料:

    https://blog.csdn.net/weixin_43753824/article/details/135402619 可以参考下面这个帖子: https://zhuanlan.zhihu.com/p/602012820

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » conda(复制环境)在不同服务器上迁移环境的方法
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!