网上很多方法语焉不详,本文主要介绍在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
环境文件中主要记录了该环境所需的各安装包下载链接:
服务器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 /https://repo.anaconda.com/archive/
bash Anaconda3-2022.05-Linux-x86_64.sh
注:安装过程中提示的conda init可以自动配置环境变量,建议选择yes
cd /root/anaconda3/bin
source activate
conda deactivate
服务器A:拷贝envs
# scp -r 原环境路径 账户@IP:新环境路径
# 示例:
scp -r /root/anaconda3/envs/python38 root@192.168.1.111:/root/anaconda3/envs/python38
服务器B:使用环境
# conda activate 环境名
# 示例:
conda activate python38
参考资料:
Conda 环境迁移 - 知乎
如何在Linux服务器上安装Anaconda(超详细)_linux安装anaconda_流年若逝的博客-CSDN博客