将一个 Conda 环境从一台服务器迁移到另一台服务器,如果你希望直接通过打包和解压的方式来完成,这里以环境chatglm为例,可以按照以下步骤进行:

conda-pack 不是 conda 自带内置命令,是独立工具,没装就报这个错conda.gith...。

注意:装好之后,直接用 conda-pack(中间短横线),不是 conda pack(空格),很多人踩这个坑!

安装(推荐装在 base 环境,所有环境都能用)

# 先切回base
conda deactivate

# conda安装(优先清华源)
conda install -c conda-forge conda-pack -y

# 或者pip安装(备选)
pip install conda-pack

打包(你要的 speaker 环境)

conda-pack -n speaker -o env_speaker_dgx.tar.gz

打包环境

  1. 激活你的环境: 首先,在源服务器上激活你想要迁移的环境:

    conda activate chatglm
  2. 使用 Conda 打包环境: Conda 允许你将环境打包成一个压缩文件,这样可以方便地迁移。运行以下命令来打包环境:

    conda pack -n chatglm -o chatglm.tar.gz

    这个命令会创建一个名为 chatglm.tar.gz 的压缩文件,包含了环境的所有依赖和库。

传输环境文件

将压缩文件通过 SCP、FTP 或其他文件传输方法发送到目标服务器。例如,使用 SCP:

scp chatglm.tar.gz username@target_server_address:/yourname/anaconda3/envs

如果需要传输文件夹 ,在scp后面加 -r

scp -r /user/chatglm username@target_server_address:/yourname/anaconda3/envs

解压和恢复环境

  1. 在目标服务器上解压环境: 首先,登录到目标服务器,然后解压文件:

    mkdir -p /yourname/anaconda3/envs/chatglm
    
    tar -xzf sambert_env.tar.gz -C /yourname/anaconda3/envs/chatglm
  2. 恢复环境: 进入到环境的目录,使用以下命令恢复环境:

    conda activate chatglm
    

    在某些情况下,你可能需要重新链接二进制文件,尤其是在不同操作系统或不同架构的机器之间迁移时。你可以使用 conda-unpack 命令在目标机器上完成这个过程:

    conda-unpack

这种方法允许你完整地复制一个 Conda 环境到另一台服务器,包括所有的包和配置,而无需在目标机器上重新构建环境。这对于确保环境的一致性非常有帮助,特别是在生产或开发环境中需要确保环境配置一致性的场景。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐