Linux conda 环境迁移 服务器之间迁移

网上很多方法语焉不详,本文主要介绍在Linux系统之间进行单一环境迁移,从服务器A迁移到服务器B的两种方式:

  • conda list方式进行Linux系统在线环境迁移
  • 拷贝envs方式进行Linux系统离线环境迁移

conda list方式

迁移完毕后需要手动安装缺失的python库,复杂环境不推荐此种方式迁移。

服务器A:查看的conda环境

conda env list

服务器A:进入要迁移的环境

# conda activate 环境名

# 示例:
conda activate python38

 服务器A:生成所需环境文件

# conda list --explicit > 文件路径

# 示例:
conda list --explicit > spec-list.txt

 环境文件中主要记录了该环境所需的各安装包下载链接:

Linux conda 环境迁移 服务器之间迁移_第1张图片

 服务器B:根据环境文件创建conda环境

# conda create --name 环境名 --file 环境文件路径
# 注意:创建环境时环境名不能是base,如果迁移的是base环境,需要改名创建

# 示例:
conda create --name python38 --file /root/spec-list.txt

服务器A:查看需要安装的python库版本

python
>>> import torch
>>> print(torch.__version__)
1.7.1+cu101
>>> import torchvision
>>> print(torchvision.__version__)
0.8.2+cu101

服务器B:安装缺失的python库

pip install torchvision==0.8.2
pip install opencv-python
pip install pyyaml
pip install yacs
...

拷贝envs方式

服务器B:安装Anaconda

Index of /icon-default.png?t=N7T8https://repo.anaconda.com/archive/

bash Anaconda3-2022.05-Linux-x86_64.sh

 注:安装过程中提示的conda init可以自动配置环境变量,建议选择yes

Linux conda 环境迁移 服务器之间迁移_第2张图片

cd /root/anaconda3/bin
source activate
conda deactivate

服务器A:拷贝envs

# scp -r 原环境路径 账户@IP:新环境路径

# 示例:
scp -r /root/anaconda3/envs/python38 [email protected]:/root/anaconda3/envs/python38

服务器B:修改pip路径(python路径)

vim /root/anaconda3/envs/python38/bin/pip

Linux conda 环境迁移 服务器之间迁移_第3张图片

服务器B:使用环境

# conda activate 环境名

# 示例:
conda activate python38

参考资料:

Conda 环境迁移 - 知乎

如何在Linux服务器上安装Anaconda(超详细)_linux安装anaconda_流年若逝的博客-CSDN博客

你可能感兴趣的:(Linux,conda)